1

ユーザーとセッションがそれぞれ特権と有​​効である場合、すべてのページが要求された後に、呼び出されるフィルターがあります。しかし、ログインの直前にセッションを無効にしたい。誰かがログアウトしないと、アクティブな場合は次のログイン中にそのセッションがキャプチャされるためです。このジョブを実行した後にページにリダイレクトする index.jsp があります。ただし、ログイン ページに直接アクセスすると、前のセッションがキャプチャされます。

LoginManagedBean.java

    public LoginManagedBean() {
    super(FacesContext.getCurrentInstance().getExternalContext());
    System.out.println(FacesContext.getCurrentInstance());
    System.out.println(FacesContext.getCurrentInstance()
            .getExternalContext());
    user = new UserBean();
}

索引.jsp

request.getSession(false).invalidate();
String redirectPage = null;
redirectPage = request.getContextPath()+"/xhtml/login/loginHome.xhtml";

もう1つの問題は、ウェルカムファイルとしてindex.jspを持っているにもかかわらず、「loginHome.xhtml」がまだコンテキストルートにヒットして直接開いていることです。それは、セッションの無効化が発生していないときです。

web.xml

    <welcome-file-list>
       <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

ありがとう.. !!

4

0 に答える 0