0
JSFアプリケーションにユーザーをログアウトするセッションを無効にするログアウトリンクがあります。それは動作しますが、ユーザーをログオンページにリダイレクトしません。それは同じページにとどまります。同じページに再びアクセスしようとすると、ログオンに戻る。私はこれがすぐに起こることを望む。ログアウトcommandLinkはユーザーをログアウトしますが、ページを更新しません
ログアウトリンク:
<h:form>
<h:panelGroup id="loginout">
<h:outputText value="#{todoController.loggedInUser}" />
<h:commandLink value="logout" action="#{todoController.logout}" />
</h:panelGroup>
</h:form>
ログアウトコード:
public String logout()
{
System.out.println("testing logout");
FacesContext fc = FacesContext.getCurrentInstance();
ExternalContext ec = fc.getExternalContext();
final HttpServletRequest r = (HttpServletRequest)ec.getRequest();
r.getSession(false).invalidate();
return "../login.html?faces-redirect=true";
}
ありがとうございました。これはうまくいった。しかし、リダイレクト後にログインしようとすると、「HTTPステータス408エラー - ログインプロセスに許可された時間を超過しました」というメッセージが表示されます。元のページにリダイレクトしましたが、ログインしていないのでログインページにジャンプします。 :-) – Dana