2017-11-10 139 views
0

我正在分析代码。它是使用基于WebSphere表单的认证的Wicket应用程序。 该程序实现了ibm_security_logout表单机制。 登录时,我将当前URL复制到剪贴板。 使用表单注销时,我似乎已注销。但是,使用复制的URL时,我回到了GUI中,正在登录。 因此会话仍然有效?如何确保我实际注销,并在使用“旧”URL时重定向到登录页面? 谢谢!基于WebSphere表单的身份验证注销机制未注销

回答

1
  • 检查是否为管理控制台中的应用程序启用了安全性,菜单安全性>全局安全性,复选框“应用程序安全性”。
  • 检查菜单安全性>全局安全性>信任关联>拦截器中没有安全拦截器
  • 使用Chrome或Firefox连接到您的应用程序并打开“开发人员工具”面板。检查当你点击注销会发生什么:

      在网络选项卡
    1. ,浏览器应该发送GET请求ibm_security_logout URL在WebSphere答案
    2. ,应该有头的Set-Cookie:LtpaToken2 =“”这应该删除LtapToken2。 LtpaToken2基本上是Websphere的会话cookie。
    3. 使用开发人员工具查看您的Cookie。 LtpaToken2不应该在那里了。

如果第1步不正常:您的客户端应用程序注销按钮无法正常执行。

如果步骤2不正确:Websphere日志文件中应该存在错误。

如果步骤3不正确(非常不可能):可能会出现跨域错误,这意味着Cookie已设置为其他域名。

+0

本杰明感谢您的详细过程。它开始于对[应用程序]/ibm_security_logout url的请求,但是它的类型是POST,而不是GET(这正如我所料,因为html表单声明中有一个http post方法)。然后这些工具表示响应数据加载失败,但在“响应Cookie”下的Cookie选项卡中,它显示LtpaToken2 cookie值为“”。 – Kjeld

+0

另外,这个问题在我的本地开发环境中没有发生,它在我们的OTAP测试环境中。那么,这可能是一个服务器端设置? – Kjeld

+0

我不知道什么是OTAP ...也许您在Websphere全局安全性中配置了另一种身份验证类型。它可能是全局安全性>信任关联>拦截器中的一些内容。 –