圖解Jwt和shiro認證方式的區別
Jwt的認證方式
使用者進行登入中,訪問微服務中Controller層的登入方法,若認證通過,生成Token(包含使用者資料和許可權),返回token資訊到前端瀏覽器,然後,前端那邊的程式碼會記錄token,使得再去訪問微服務的方法時,請求頭都會包含token,然後,後端會解析token,校驗token和操作許可權,值得注意的是整個過程都不記錄使用者的任何資料,是一個無狀態的服務!
shiro的認證方式
使用者登入後,交給後端自定義的Realm域,進行使用者名稱和密碼的認證比較,認證通過會產生一個以SessionId為key的使用者安全資料,然後交給shiro的會話管理,將SessionId存入Redis服務,並將SessionId返回到前端,如果再訪問其他後端的控制層方法時,請求頭就會包含sessionId,然後再交給後端自定義的Realm域獲取安全資訊,再交給會話管理將傳遞過來SessionId與redis服務進行比較,返回自己構造的安全資料(安全資料一定要包含許可權資訊),因為需要對使用者許可權進行驗證,如果訪問請求沒有攜帶sessionId,那麼會產生一個新的sessionId,但還需要使用者登入
相關文章
- Basic認證和Bearer Token認證的區別
- 瞭解JWT認證JWT
- 關於shiro安全框架和shiro的認證流程框架
- shiro授權和認證(四)
- drf的JWT認證JWT
- Shiro中principal和credential的區別
- JWT 多表認證JWT
- Shiro實現Basic認證
- Shiro(認證的執行流程Authentication)
- 選擇檢測機構,有CNAS認證和沒CNAS認證的區別
- DRF之JWT認證JWT
- DRF JWT認證(一)JWT
- DRF JWT認證(二)JWT
- Spring Boot 最簡單整合 Shiro+JWT 方式Spring BootJWT
- ILSSI認證和一般的證書有什麼區別?
- 福祿克的驗證測試和認證測試的區別
- JWT身份認證(附帶原始碼講解)JWT原始碼
- 系統登入認證流程對比(cookie方式與jwt)CookieJWT
- 『JWT』,你必須瞭解的認證登入方案JWT
- SpringBoot 與Shiro 整合系列(三)多Realm驗證和認證策略Spring Boot
- koa 實現 jwt 認證JWT
- Django(65)jwt認證原理DjangoJWT
- Lumen 8.0 使用 Jwt 認證的 ApiJWTAPI
- JWT技術解決IM系統的認證痛點JWT
- ICP證和EDI證的區別
- 一文搞懂Session和JWT登入認證SessionJWT
- springboot整合shiro實現身份認證Spring Boot
- Shiro學習-認證思路分析(七)
- springboot+jwt做api的token認證Spring BootJWTAPI
- laravel 介面使用JWT(dingo)認證LaravelJWTGo
- springboot + shiro 實現登入認證和許可權控制Spring Boot
- 解決 Laravel JWT 多表認證時獲取不到當前認證使用者的問題LaravelJWT
- ASP.NET Core之身份認證和授權JWTASP.NETJWT
- EMQX Cloud 更新:新增 Redis 和 JWT 外部認證授權MQCloudRedisJWT
- ASP.NET Core 6.0 新增 JWT 認證和授權ASP.NETJWT
- 認清Python下==和is的區別Python
- 教你 Shiro + SpringBoot 整合 JWTSpring BootJWT
- shiro-redis-jwt整合RedisJWT