1

JSF 2.0 でログアウト機能を実行しようとしています。最初に、ユーザーをログに記録するための AUTH_KEY を指定します。ログアウト後、このユーザーの AUTH_KEY を削除します。私の問題は、削除されないユーザーセッションのログアウトが機能していません。

ログイン機能のセクション:

if (startupInfo.getConnectionId().equals("success")) {
                    FacesContext.getCurrentInstance().getExternalContext()
                            .getSessionMap()
                            .put(AUTH_KEY, loggedUserInfo.getUserId());
                    return "success";
                }

ログアウト

    public String logout() {
    FacesContext.getCurrentInstance().getExternalContext().getSessionMap().remove(AUTH_KEY);

    return "logout";
}
4

1 に答える 1

0

ログアウト メソッドで HTTP セッションを無効にする必要があります。ユーザー情報のみを削除しても、セッションは強制終了されません。

HttpSession session = (HttpSession) FacesContext.getCurrentInstance()
                        .getExternalContext().getSession(false);
if (session != null) {
  session.invalidate();
}
于 2012-05-09T06:25:18.467 に答える