/ibm_security_logout
JSFプロジェクトにロジックを実装しようとしています。ログアウトに使用する方法についていくつかの要件があります。
次の形式に準拠する必要があります。
<FORM METHOD=POST ACTION="<%=request.getContextPath()%>/ibm_security_logout"
NAME="LogoutForm">
<INPUT TYPE="HIDDEN" NAME="logoutExitPage"
VALUE="/../weblogin/logout?dest=/myapp/goodbye.jsp">
<INPUT TYPE="submit" NAME="logout" VALUE="Logout">
</FORM>
両方のケースが存在する必要があります。
<%=request.getContextPath()%>/ibm_security_logout"
VALUE="/../weblogin/logout?dest=/myapp/goodbye.jsp">
どうすればcommanlinkでそれを実現できますか?
<h:commandLink value="Log Out" action="#{sessionController.logout}" />
Beanメソッドではどのように見えるべきですか?
public void logout() throws IOException {
ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext();
ec.invalidateSession();
ec.redirect("/../weblogin/logout?dest=/myapp/goodbye.jsp");
}
編集
#{request.contextPath}
= localhost:9080 /MyProject
ログインページ=localhost:9080 / weblogin / login?webapp = / MyProject(ログインページは経由で管理されます)externFramework
ログアウトもexternフレームワークを介して管理されます。したがって、URLはこのVALUE = "/../ weblogin / logout?dest = / weblogin / login?webapp =/MyProjectに準拠している必要があります。
以下のコードで試してみました。しかし、それは機能しませんでした。
<form id="logout" action="#{request.contextPath}/ibm_security_logout"
method="post">
<input type="hidden" name="logoutExitPage"
value="/../weblogin/logout?dest=/weblogin/login?webapp=/MyProject">
<a href="#" onclick="document.getElementById('logout').submit()">Logout_NEU</a>
</form>