圖解Jwt和shiro認證方式的區別

什麼都不想幹的發表於2020-10-05

在這裡插入圖片描述

Jwt的認證方式

使用者進行登入中,訪問微服務中Controller層的登入方法,若認證通過,生成Token(包含使用者資料和許可權),返回token資訊到前端瀏覽器,然後,前端那邊的程式碼會記錄token,使得再去訪問微服務的方法時,請求頭都會包含token,然後,後端會解析token,校驗token和操作許可權,值得注意的是整個過程都不記錄使用者的任何資料,是一個無狀態的服務

shiro的認證方式

使用者登入後,交給後端自定義的Realm域,進行使用者名稱和密碼的認證比較,認證通過會產生一個以SessionId為key的使用者安全資料,然後交給shiro的會話管理,將SessionId存入Redis服務,並將SessionId返回到前端,如果再訪問其他後端的控制層方法時,請求頭就會包含sessionId,然後再交給後端自定義的Realm域獲取安全資訊,再交給會話管理將傳遞過來SessionId與redis服務進行比較,返回自己構造的安全資料(安全資料一定要包含許可權資訊),因為需要對使用者許可權進行驗證,如果訪問請求沒有攜帶sessionId,那麼會產生一個新的sessionId,但還需要使用者登入

相關文章