当前位置:  开发笔记 > 运维 > 正文

使用http基本身份验证和restful_authentication插件注销

如何解决《使用http基本身份验证和restful_authentication插件注销》经验,为你挑选了1个好方法。

我在rails应用程序中安装了restful_authentication插件,其session_controller具有如下所示的destroy方法:

def destroy
  self.current_user.forget_me if logged_in?
  cookies.delete :auth_token
  reset_session
  flash[:notice] = "You have been logged out."
  redirect_back_or_default('/')
end

在应用程序控制器中我有:

before_filter :login_required

在sessions_controller我有:

skip_before_filter :login_required

我的问题是,当用户使用http基本身份验证进行身份验证时,他/她不会注销.会话被销毁,但用户可以毫无问题地导航到受限制的页面.通过插件进行会话身份验证不会发生此问题.如何使这种方法摆脱基本的认证?



1> Chris Drappi..:

服务器端无法在这种情况下"注销"用户.当用户通过基本身份验证登录时,浏览器会存储身份验证信息,并在每次请求时通过http标头发送身份验证参数.如果用户使用基本身份验证登录,他/她将必须关闭他/她的浏览器窗口才能注销.

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有