2013-03-12 219 views
0

我在WAS 7上部署了Web应用程序,位于TAM WebSEAL 6.1之后,使用TAI,LTPA2单一登录 用户登录和SSO正在完美工作。 注销时,调用HTTPSession.invalidate(),调用https://<webseal url>/pkmslogoutWebSEAL - WAS 7 - 会话失效无法清除WAS会话缓存

问题是: 注销后,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); 
    } 
} 

谢谢。

回答

0

在WebSphere 8.5.5上(也许在旧版本中),您可以设置自定义属性。

安全 - >全局安全 - >自定义属性

com.ibm.ws.security.web.logoutOnHTTPSessionExpire =真