0

TAM WebSEAL 6.1 の背後にある WAS 7 にデプロイされた Web アプリがあり、TAI を使用し、LTPA2 シングル サインオン ユーザー ログインと SSO は完全に機能しています。ログアウト時に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 );
    }
}

ありがとうございました。

4

2 に答える 2

0

WebSphere 8.5.5 (おそらく古いバージョンでも) では、カスタム プロパティを設定できます。

セキュリティ -> グローバル セキュリティ -> カスタム プロパティ

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

于 2015-01-27T11:22:34.710 に答える
0

WebSphereからの「ibm_security_logout」がセッションの取り消しに役立つことを他のフォーラムから学びました。詳細: http://www-01.ibm.com/support/docview.wss?uid=swg21254556

私はまだこれを試していません。フォーラムに投稿し続けます。

于 2013-04-03T18:10:41.587 に答える