我有一个Ruby类,它基本上将用户验证到LDAP目录,如下所示。 DirectoryUser
类正在使用net / ldap gem来执行此操作。调用时,如果用户通过身份验证,则返回“true”,否则返回“false”。
>>DirectoryUser.authenticate('user', 'password')
#True
我想使用此机制来保护基本Sinatra应用程序中的多个用户的路由。
我在考虑设置变量并在允许访问路径之前检查变量的状态。但是,我不禁想到这里可能会遗漏一些安全隐患!
答案 0 :(得分:1)
它位于Sinatra FAQ.
基本上,您需要创建一个帮助方法,如果用户未经过身份验证,则会抛出异常。
答案 1 :(得分:0)
由于您已经在使用LDAP库进行身份验证,因此最佳做法是使用Warden之类的内容进行授权。我们使用多种身份验证方法(基本身份验证,Twitter身份验证,LDAP身份验证)从这个应用程序中得到了很好的使用。