1

我有一个 Ruby 类,它基本上对 LDAP 目录的用户进行身份验证,如下所示。该类DirectoryUser正在使用 net/ldap gem 来执行此操作。调用该类时,如果用户已通过身份验证,则返回“true”,否则返回“false”。

>>DirectoryUser.authenticate('user', 'password')
  #True

我想使用这种机制来保护多个用户在基本 Sinatra 应用程序中的路由。

  1. 有没有推荐的遵循最佳实践的方法来做到这一点?
  2. 有人可以展示如何实现这一目标吗?

我正在考虑在允许访问路由之前设置一个变量并检查变量的状态。但是,我不禁想到这里可能会遗漏一些安全隐患!

4

2 回答 2

1

它在Sinatra 常见问题解答中。

基本上,您需要创建一个辅助方法,如果用户未通过身份验证,该方法将引发异常。

于 2013-04-04T20:44:47.960 回答
0

由于您已经在使用 LDAP 库进行身份验证,因此最佳实践是使用Warden之类的东西进行授权。我们使用多种身份验证方法(基本身份验证、twitter 身份验证、LDAP 身份验证)很好地利用了这个应用程序。

于 2016-01-01T21:44:43.893 回答