Shiro(認證的執行流程Authentication)

JasonTam發表於2018-08-14

什麼是認證?

身份認證,校驗使用者是否有相應的身份(登入驗證)

Shiro實現認證的具體流程:

大致上來說是:

graph LR
Subject-->SecurityManager
SecurityManager-->Authenticator
Authenticator-->Realm
Realm-->Cryptography加密
複製程式碼

image

首先,使用者填寫登入資訊傳送請求到action中,action中呼叫subject中的login方法.

image

然後由於Subject物件是一個介面,因此我們查詢它的實現類

image

DelegattingSubject是Subject的實現類

image

然而它又由securityManager 來呼叫

image

SecurityManager是一個介面,繼續找它的實現類

image

認證安全管理

image

類中的這個方法繼續將我們頁面中封裝好的token傳遞

image

image

image

最後這個token傳到了ModularRealmAuthenticator這裡來了.這裡面的doSingleRealmAuthentication呼叫了我們自定義的Realm.並把我們在Action中封裝的Token傳遞進Realm中進行認證校驗.

image

如果有什麼地方說得不正確,大家可以在評論寫下一起交流。希望我的文章對你有幫助。點個贊阿兄dei!

相關文章