2014-07-23 81 views
3

我們使用Spring Security來處理我們的Web應用程序的安全性。我已經實現了一個註銷按鈕,並通過XML對其進行了配置。但是,當我點擊註銷按鈕時,我沒有被重定向到註銷成功url,而是被重定向到無效會話url。Spring Security logout-success-url不被尊重

這裏是我的應用程序的security.xml

<http use-expressions="true"> 
    <form-login login-page="/login" 
       login-processing-url="/j_spring_security_check" 
       default-target-url="/main" 
       always-use-default-target="true" 
       authentication-failure-url="/login?redirect=login_error" /> 
    <logout logout-success-url="/login?redirect=logout" delete-cookies="JSESSIONID"/> 
    <session-management invalid-session-url="/login?redirect=session_timeout" /> 
    <intercept-url pattern="/login" access="isAnonymous()" /> 
    <intercept-url pattern="/**" access="isAuthenticated()" /> 
</http> 

並註銷按鈕:

<a role="menuitem" tabindex="-1" href="<c:url value="j_spring_security_logout"/>" >Signout</a> 

感謝您的幫助!

回答

1

您是否在您的頁面導入jstl標籤庫。 例如

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 

我配置了我的註銷網址,效果很好。 這裏是我的應用程序security.xml

<logout logout-url="/logout" delete-cookies="JSESSIONID" 
      logout-success-url="/login?redirect=logout" /> 

然後在我的網頁。

<a role="menuitem" tabindex="-1" href="<c:url value="/logout" />" />" >Signout</a>