我正在使用另一个网页,该网页通过 URL 将用户身份验证( AD 登录)传递到 WebSphere。当我注销时,我将重定向到登录页面,并且已经登录,因为我的会话从未关闭。我尝试了一些方法来禁用 WebSphere 的 cookie,但没有任何效果。当我按下注销按钮时,有没有一种简单的方法可以用java代码删除cookie?非常感谢任何帮助。
如果您使用的是 WebSphere 8.x,则应该使用 servlet 3.0 api 和request.logout()方法,在重定向到注销页面之前。此方法将删除会话和身份验证 cookie。
对于较旧的 WebSphere 版本/servlet api,请使用以下内容(在 WAS v8 中已弃用):
try {
WSSecurityHelper.revokeSSOCookies(req, res);
} catch(Exception e) {
...
}
UPDATE
对于 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>
欲了解更多详情,请参阅自定义登录/注销
如果您无法使用此表单注销,请使用WSSecurityHelper.revokeSSOCookies(req, res)
如您的 servlet 中所示。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)