Shiro學習-認證思路分析(七)

Gordon0901發表於2020-12-22

1.首先需要去Subject中獲取當前需要登入的使用者 呼叫SecurtiyUtils.getSubject()
2.判斷你這個使用者有沒有認證(也就是有沒有登入)呼叫subject.IsAuthenticated()
3.若沒有認證,將當前使用者的使用者名稱和密碼使用UserNamePasswordToken物件封裝起來
3.1.那個這個使用者從哪裡來呢. 去登入是不是應該有一個表單頁面
3.2.在表單裡輸入完資訊之後是不是需要提交啊,然後把請求提交到SpringMvc中的Handler
3.3然後後端接受到之後被Controller攔截到,獲取到使用者名稱和密碼了
4.執行登入:呼叫subject的login(AuthenticatedToken)方法
5.然後你得去資料庫獲取對應的資料了吧,怎麼獲取安全資料呢,是不是要去訪問Realm,最後把資料返回給shiro
5.1實際上繼承AuthenticatingRealm類(org.apache.shiro.realm.AuthenticatingRealm)
5.1實現doGetAuthenticationInfo(AuthenticationToken)方法
6.由shiro完成密碼的比對

相關文章