我正在尝试进行非常基本的身份验证。我已经尝试过使用bcrypt-ruby和用户身份验证在他的截屏视频中使用的一个ryan bates。
对于一个非常小的项目,我想使用别的东西:
http_basic_authenticate_with :name => 'user', :password => 'secret'
我有一个名为 $ admin 的全局,我有一个方法可以将其值设置为 false (类似于注销)。
有没有办法重置此身份验证,以便用户(管理员)必须再次填写“登录凭据”?
亲切的问候
答案 0 :(得分:1)
不幸的是,在basic_auth
的情况下,用户保持登录状态,直到浏览器窗口关闭。如果用户使用basic_auth
登录,则浏览器会存储身份验证信息,并在每次请求时通过http标头发送身份验证参数。
虽然有一个小问题:
使用basic_auth
登录后,当用户浏览您的应用并从一个链接转到另一个链接时(例如从http://appdomain.com/link1
到http://appdomain.com/link2
,他实际上是从http://username:password@appdomain.com/link1
转到{ {1}}。浏览器隐藏了地址栏中的http://username:password@appdomain.com/link2
部分,因此您对此不了解。
注销通过basic_auth进行身份验证的用户的脏方法是创建链接或重定向到http://invaliduser@appdomain.com/,浏览器不会将身份验证凭据保存到...
编辑:或作为替代方案重定向并将用户登录到无权限帐户,该帐户无法通过username:password@
希望它有所帮助。