Spring Security3學習 退出過濾器

2021-09-02 03:47:42 字數 1962 閱讀 1964

退出的基本配置:

也可以自定義退出成功的handler,新增配置success-handler-ref。如果不配置logout-url,預設的退出url是j_spring_security_logout。處理退出時spring security3將會做的事:

使得http session失效(如果invalidate-session屬性被設定為true,預設是true的); 

清除securitycontex(真正使得使用者退出); 

將頁面重定向至logout-success-url指明的url。

如果啟用了rememberme,清除cookie

退出過濾器是:org.springframework.security.web.authentication.logout.logoutfilter,退出的流程比較簡單:

看原始碼:

public void dofilter(servletrequest req, servletresponse res, filterchain chain)

throws ioexception, servletexception

// 迴圈呼叫退出handler,執行logout方法

for (logouthandler handler : handlers)

// 退出成功後的handler

logoutsuccesshandler.onlogoutsuccess(request, response, auth);

return;

}chain.dofilter(request, response);

}

handlers集合預設在org.springframework.security.config.http.logoutbeandefinitionparser配置的:

managedlist handlers = new managedlist();

securitycontextlogouthandler sclh = new securitycontextlogouthandler();

if ("true".equals(invalidatesession)) else

//乙個securitycontextlogouthandler物件

handlers.add(sclh);

// 如果啟用了rememberme,還需要清理cookie

if (remembermeservices != null)

builder.addconstructorargvalue(handlers);

先看securitycontextlogouthandler的logout方法

}// 設定securitycontextholder物件為空

securitycontextholder.clearcontext();

}啟用rememberme時,退出清除了cookie:abstractremembermeservices

//清除cookie

cancelcookie(request, response);

}退出成功後將根據配置重定向到乙個url。

Springsecurity3 之動態資源管理

springsecurity3 之動態資源管理 需要實現的功能點 1 人員管理 角色管理 資源管理,典型的rbac模型。2 動態選單。根據人員展現所有可用選單 3 頁面級許可權設定。根據人員有無某許可權來確定是否顯示頁面元素。資源定義 在我的系統裡資源分為3種,選單 url 方法。選單肯定要有乙個u...

spring security3 配置和使用

xml 3 然後在web.xml中新增配置,內容如下 xml contextconfiglocation springsecurityfilterchain org.springframework.web.filter.delegatingfilterproxy org.springframewor...

spring security3 配置和使用

剛才想發到論壇來的.結果使用的是chrome打完字沒注意就點了發布.t t.最近專案中要使用到spring security,閒來沒事就研究了下。發現入門挺簡單的,在這裡把自己的心得發下,希望對沒有接觸過想接觸的朋友有幫助。3 然後在web.xml中新增配置,內容如下 配置起來很簡單,由於我的sec...