我有一个 Ruby 类,它基本上对 LDAP 目录的用户进行身份验证,如下所示。该类DirectoryUser
正在使用 net/ldap gem 来执行此操作。调用该类时,如果用户已通过身份验证,则返回“true”,否则返回“false”。
>>DirectoryUser.authenticate('user', 'password')
#True
我想使用这种机制来保护多个用户在基本 Sinatra 应用程序中的路由。
- 有没有推荐的遵循最佳实践的方法来做到这一点?
- 有人可以展示如何实现这一目标吗?
我正在考虑在允许访问路由之前设置一个变量并检查变量的状态。但是,我不禁想到这里可能会遗漏一些安全隐患!