我使用基本HTTP身份驗證對基本LDAP授權的GWT/GXT應用程序進行了改造。當我啓動新的瀏覽器時,它運行良好 - 我得到提示並獲得對公司LDAP的授權。我的問題 - 除非關閉/重新打開瀏覽器,否則我無法註銷。我可以調試,看看SecurityContextLogoutHandler#logout
被調用,下面的代碼被執行彈簧安全 - 無法註銷
if (invalidateHttpSession) {
HttpSession session = request.getSession(false);
if (session != null) {
session.invalidate();
}
}
SecurityContextHolder.clearContext();
但是它似乎已經爲網站沒有任何影響被重新加載,除非我重新啓動瀏覽器(甚至清除緩存我再也找不到一個HTTP認證提示/ cookies不會幫助)。這裏的applicationContext.xml的
的相關部分<security:http auto-config='true'>
<security:intercept-url pattern="/reports/**" access="ROLE_USER" />
<security:http-basic />
<security:logout logout-url="/reports/logout"
logout-success-url="/reports/Application.html" />
</security:http>
我試圖自定義LogoutSuccessHandler
做authentication.setAuthenticated(false);
但也沒有效果
任何這裏,我在這裏失蹤?您的幫助將不勝感激
毫不奇怪,這具有相同的效果。正如我所說 - 它通過LogoutHandler邏輯,它只是它看起來什麼都不做 – Bostone 2011-02-17 01:03:33
我的佈線沒有任何問題。事實是 - 基本的HTTP不支持註銷 – Bostone 2011-02-17 18:40:54