我在TAMSSO6.1后面的WAS7上部署了一个web应用程序,使用TAI,LTPA2单点登录用户登录,WebSEAL工作得很好。注销时,将调用HTTPSession.invalidate()和https://<webseal url>/pkmslogout。
问题是:注销后,WebSEAL会话似乎已清除,但WebSphere JSESSIONID cookie仍然存在。当使用新用户登录时,WAS上的会话缓存也具有旧用户信息。
有人知道我的注销实现是否正确吗?SSO设置中是否有任何其他配置可防止在会话无效时删除此会话缓存?
注销代码的实现:以下代码中的logOutURL是WebSEAL pkmslogout链接
public void logout(ActionEvent event ){
String logOutURL = (String) event.getComponent().getAttributes().get(ATTRIBUTE_NAME_LOGOUT_URL);
getSession().invalidate();
try {
FacesContext c = FacesContext.getCurrentInstance();
if( c!= null )
{
c.getExternalContext().redirect(logOutURL);
}
} catch (IOException e) {
log.error( "Exception while processing logout redirect.", e );
}
}谢谢。
发布于 2013-04-04 02:10:42
从其他论坛上了解到,来自WebSphere的"ibm_security_logout“将有助于取消会议。详情:http://www-01.ibm.com/support/docview.wss?uid=swg21254556
我还没有试过这个,我会保持论坛的更新。
发布于 2015-01-27 19:22:35
在WebSphere 8.5.5 (可能在旧版本中也是如此)上,您可以设置自定义属性。
Security ->全局安全性->自定义属性
com.ibm.ws.security.web.logoutOnHTTPSessionExpire=true
https://stackoverflow.com/questions/15369597
复制相似问题