我正在使用另一个网页,通过URL将用户身份验证(AD登录)传递给WebSphere。当我退出时,我正在重定向到登录页面,并且已经登录,因为我的会话永远不会关闭。我尝试了一些东西来禁用WebSphere的cookie,但没有任何效果。当我按下注销按钮时,是否有一种简单的方法可以用java代码删除cookie?非常感谢任何帮助。
答案 0 :(得分:3)
如果您使用的是WebSphere 8.x,那么在重定向到注销页面之前,应该使用servlet 3.0 api和request.logout()
方法。此方法将删除会话和身份验证cookie。
对于较旧的WebSphere版本/ servlet api,请使用以下内容(在WAS v8中弃用):
try {
WSSecurityHelper.revokeSSOCookies(req, res);
} catch(Exception e) {
...
}
<强>更新强>
对于v7,我建议使用form-logout。
如果要注销表单应用程序,请创建以下注销表单,或创建自定义帖子到ibm_security_logout
,您可以使用logoutExitPage
在注销后重定向到所需页面:
<h2>Sample Form Logout</h2>
<FORM METHOD=POST ACTION="ibm_security_logout" NAME="logout">
<input type="submit" name="logout" value="Logout">
<INPUT TYPE="HIDDEN" name="logoutExitPage" VALUE="/login.html">
</form>
有关详细信息,请参阅Customizing login/logout
如果您无法使用此表单注销,请使用上面servlet中显示的WSSecurityHelper.revokeSSOCookies(req, res)
。