重置基本身份验证与
Posted
技术标签:
【中文标题】重置基本身份验证与【英文标题】:Resetting basic-authenticate-with 【发布时间】:2013-04-11 17:41:04 【问题描述】:我正在尝试进行非常基本的身份验证。我已经尝试过 ryan bates 在他的截屏视频中使用 bcrypt-ruby 和用户身份验证。
对于一个非常小的项目,我想使用其他东西:
http_basic_authenticate_with :name => 'user', :password => 'secret'
我有一个名为 $admin 的全局变量,并且我有一个方法可以将其值设置为 false(类似于注销)。
有没有办法重置此身份验证,以便用户(管理员)必须再次填写“登录凭据”?
亲切的问候
【问题讨论】:
【参考方案1】:不幸的是,在basic_auth
的情况下,用户会一直保持登录状态,直到浏览器窗口关闭。如果用户使用basic_auth
登录,浏览器会存储认证信息,并在每次请求时通过http头发送认证参数。
这有一个小问题:
使用basic_auth
登录后,当用户浏览您的应用程序并从一个链接转到另一个链接时(例如,从http://appdomain.com/link1
到http://appdomain.com/link2
,他实际上是从http://username:password@appdomain.com/link1
到http://username:password@appdomain.com/link2
。浏览器隐藏了@ 987654329@ 在你的地址栏中,所以你不知道。
注销已通过 basic_auth 进行身份验证的用户的一种肮脏方法是创建一个链接或重定向到浏览器不持有身份验证凭据的http://invaliduser@appdomain.com/...
编辑:或者作为替代重定向并将用户登录到一个无权限帐户,该帐户无法通过http://guest:password@appdomain.com
在您的应用程序中查看或执行任何操作
希望对您有所帮助。
【讨论】:
以上是关于重置基本身份验证与的主要内容,如果未能解决你的问题,请参考以下文章