SpringBoot整合SpringSecurityOauth2实现鉴权
SpringBoot整合SpringSecurityOauth2實現(xiàn)鑒權(quán)-動態(tài)權(quán)限
寫在前面
思考:為什么需要鑒權(quán)呢?
系統(tǒng)開發(fā)好上線后,API接口會暴露在互聯(lián)網(wǎng)上會存在一定的安全風險,例如:爬蟲、惡意訪問等 。因此 ,我們需要對非開放API接口進行用戶鑒權(quán),鑒權(quán)通過之后再允許調(diào)用。
準備
spring-boot :2.1.4.RELEASE
spring-security-oauth2:2.3.3.RELEASE(如果要使用源碼,不要隨意改動這個版本號 ,因為2.4往上的寫法不一樣了)
mysql :5.7
效果展示
這邊只用了postman做測試 ,暫時未使用前端頁面來對接 ,下個版本角色菜單權(quán)限分配的會有頁面的展示
1、訪問開放接口 http://localhost:7000/open/hello

2、不帶token訪問受保護接口 http://localhost:7000/admin/user/info

3 、登錄后獲取token,帶上token訪問 ,成功返回了當前的登錄用戶信息


實現(xiàn)
oauth2一共有四種模式,這邊就不做講解了 ,網(wǎng)上搜一搜 ,千篇一律
因為現(xiàn)在只考慮做單方應用的,所以使用的是密碼模式。
后面會出一篇SpringCloud+Oauth2的文章 ,網(wǎng)關鑒權(quán)
講一下幾個點吧
1、攔截器配置動態(tài)權(quán)限

新建一個 MySecurityFilter類,繼承AbstractSecurityInterceptor