1 簡單的認證流程:
– 前台填寫表單資料,封裝成使用者物件—》交給認證管理器(相當於loginservice)-----通過-》
userdetailservice獲取資料庫中的使用者和密碼—》呼叫密碼器匹配器與表單物件中的使用者名稱和密碼進行匹配-》
進行認證—》認證成功放行資源,將使用者資訊,許可權封裝在securitycontent裡,放到session中–》認證失敗攔截到登入頁面
2security認證原理
– springsecurity是基於filter實現認證和授權,底層通過filterchainproxy**去呼叫各種filter(filter鏈),
filter通過呼叫authenticationmanager(認證管理器)完成認證 ,通過呼叫accessdecisionmanager(授權管理器)完成授權
3 securitycontextpersistencefilter
– 這個filter是整個filter鏈的入口和出口,請求開始會從securitycontextrepository中,獲取securitycontext物件並設定給securitycontextholder。在請求完成後將
– securitycontextholder持有的securitycontext再儲存到配置好的
– securitycontextrepository中,同時清除securitycontextholder中的securitycontext
4 usernamepasswordauthenticationfilter
– 預設攔截「/login」登入請求,處理表單提交的登入認證,將請求中的認證資訊包括
username,password等封裝成usernamepasswordauthenticationtoken,然後呼叫
authenticationmanager的認證方法進行認證。
5basicauthenticationfilter
– 基本認證,httpbasic登入,彈出登入框登入
6 rememberauthenticationfilter
– 記住我
7 anonymousauthenticationfilter
– 匿名filter,用來處理匿名訪問的資源,如果securitycontext中沒有authentication,
就會建立匿名的token(anonymousauthenticationtoken),然後通過
securitycontexthodler設定到securitycontext中。
8 exceptiontranslationfilter
– 用來捕獲filterchain所有的異常,進行處理,但是只會處理 authenticationexception和accessdeniedexception,異常,其他的異常 會繼續丟擲。
9 filtersecurityinterceptor
– 用來做授權的filter,通過父類(abstractsecurityinterceptor.beforeinvocation)呼叫
accessdecisionmanager.decide方法對使用者進行授權。
我的Security 認證考試筆記
本人已在安全行業工作達兩年之久,然而一直缺少安全類證書,所以才決定培訓s 以下僅代表本人一些見解。我於1月11日參加通過了security 考試,下面我跟大家講述下我的備考經歷和考試經過。備考經歷 1 我覺得首先聽課的時候要把考點在講義上適當標記下,聽課期間可以開始做題了,到老師講解習題的時候可以針...
Security 認證考試經驗分享 備考篇(三)
我於11月11日參加並通過了security 考試,下面我從兩個方面跟大家講述下我的備考和考試經過。一 備考經歷 security 官方教材怎麼用?security 官方教材我個人覺得就兩個作用 1 把題庫先刷一遍,不管做的來做不來,快速刷題,我每次都是刷到腦袋反應 100多道題吧 很慢就停下休息一...
OAuth認證流程
1.客戶端去 申請乙個api key secret 例如豆瓣網的 string apikey 0c51c1ba21ad8cfd24f5452e6508a6f7 string secret 359e16e5e5c62b6e 2.獲取到豆瓣的服務,帶著鑰匙訪問豆瓣 secret 3.獲取到授權的鏈結位址...