相关疑难解决方法(0)

如何使用BASIC身份验证从Web站点注销用户?

如果用户使用基本身份验证,是否可以从网站注销用户?

杀戮会话是不够的,因为一旦用户通过身份验证,每个请求都包含登录信息,因此用户下次使用相同的凭据访问站点时会自动登录.

到目前为止,唯一的解决方案是关闭浏览器,但从可用性的角度来看,这是不可接受的.

authentication http basic-authentication

259
推荐指数
12
解决办法
19万
查看次数

Spring安全 - 无法注销

我使用基本的HTTP身份验证通过基本的LDAP授权改进了我的GWT/GXT应用程序.当我启动新浏览器时,它运行良好 - 我得到提示并获得对公司LDAP的授权.我的问题 - 除非我关闭/重新打开浏览器,否则我无法注销.我可以调试并查看如何SecurityContextLogoutHandler#logout调用以及执行以下代码

    if (invalidateHttpSession) {
        HttpSession session = request.getSession(false);
        if (session != null) {
            session.invalidate();
        }
    }

    SecurityContextHolder.clearContext();
Run Code Online (Sandbox Code Playgroud)

然而,它似乎没有影响,因为网站被重新加载,我永远不会得到另一个HTTP身份验证提示,除非我重新启动浏览器(甚至清除缓存/ cookie将无济于事).这是applicationContext.xml的相关部分

<security:http auto-config='true'>
    <security:intercept-url pattern="/reports/**" access="ROLE_USER" />
    <security:http-basic />
    <security:logout logout-url="/reports/logout" 
              logout-success-url="/reports/Application.html" />       
</security:http>
Run Code Online (Sandbox Code Playgroud)

我试图定义自定义LogoutSuccessHandler,做authentication.setAuthenticated(false);,但也没有任何影响

这里有什么东西我在这里不见了?非常感谢您的帮助

spring-security basic-authentication logout

14
推荐指数
1
解决办法
1万
查看次数

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

我在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
Run Code Online (Sandbox Code Playgroud)

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

before_filter :login_required
Run Code Online (Sandbox Code Playgroud)

在sessions_controller我有:

skip_before_filter :login_required
Run Code Online (Sandbox Code Playgroud)

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

authentication ruby-on-rails ruby-on-rails-plugins

9
推荐指数
2
解决办法
1万
查看次数

基本 HTTP 身份验证 - 带有 Cookie 的 wget

我目前正在使用以下命令从站点检索数据:

wget http://www.example.com --user=joe --password=schmoe --auth-no-challenge
Run Code Online (Sandbox Code Playgroud)

我将其扩展为递归,但是,我的理解是这将在每个请求上重新发送 HTTP 身份验证凭据。

因此,是否可以运行一次基本 HTTP 身份验证,捕获 cookie,然后使用这些 cookie 触发递归加载?

这似乎不起作用:

wget --save-cookies=cookies.txt --user=joe --password=schmoe --auth-no-challenge http://www.example.com
Run Code Online (Sandbox Code Playgroud)

其次是:

 wget --load-cookies=cookies.txt -r -p http://www.example.com/pages.html
Run Code Online (Sandbox Code Playgroud)

linux authentication shell wget

5
推荐指数
1
解决办法
3409
查看次数

用401理解基本认证

我对Web浏览器的基本身份验证有点困惑.我原以为Web浏览器只会在上一个响应中收到HTTP 401状态后发送Authorization标头.但是,Chrome似乎会随后向每个请求发送Authorization标头.它有一次我输入的数据,以响应我网站上的401,并随每条消息一起发送(根据Chrome和我的网络服务器附带的开发人员工具).这是预期的行为吗?是否有一些标题我应该用我的401来推断授权的东西不应该被缓存?我目前正在使用WWW-Authenticate标头.

iis basic-authentication http-headers wcf-data-services http-status-code-401

1
推荐指数
1
解决办法
1736
查看次数