springboot整合shiro大體上的思路:
1.自定義一個類Realm extends AuthorizingRealm{}
主要是對token授權和認證
重寫2個方法
doGetAuthorizationInfo //授權
doGetAuthenticationInfo //認證
認證 代碼中手動加上對token校驗的判斷
2.自定義一個@Configuration類ShiroConfig
ShiroConfig類主要做3個事情
將自定義的Realm注冊bean
將realm對象與securityManager對象關聯
securityManager.setRealm(realm);
將securityManager對象與ShiroFilterFactoryBean對象關聯
shiroFilterFactoryBean.setSecurityManager(getDefaultWebSecurityManager);
3.整合jwt
先定義公共類JwtUtils
其中定義三個方法 作用分別為token生成 token校驗 token是否過期
在realm類的認證doGetAuthenticationInfo方法中調用JwtUtils解析token和登錄用戶是否滿足條件
滿足則返回AuthenticationInfo對象 對象中包含profile token name
(只需要定義個profile就好了 profile就是登錄的用戶信息 可以再定義一個用戶實體類 把用戶信息放入實體類中那這個對象類就是profile)
邊學邊整理思路 詳細的得邊敲邊看代碼