日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

java 权限url权限_SpringBootSecurity学习(11)网页版登录之URL动态权限

發布時間:2023/12/2 javascript 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 权限url权限_SpringBootSecurity学习(11)网页版登录之URL动态权限 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

動態權限

前面討論用戶登錄認證的時候,根據用戶名查詢用戶會將用戶擁有的角色一起查詢出來,自動實現判斷當前登錄用戶擁有哪些角色。可以說用戶與角色之間的動態配置和判斷security做的非常不錯。不過在配置方法級別的權限的時候,使用注解雖然是一種比較優雅的方式,但是要求在開發的時候就知道當前url對應哪些角色,無法實現動態的配置,而實際的項目中,每個鏈接允許哪些角色訪問也不是一成不變的,因此下面我們來實現自己的路由判斷。

創建表

前面的討論中,我們創建了用戶表,角色表和用戶角色中間表,下面來創建菜單功能表,并把現在有的url鏈接添加進去:

然后創建角色菜單中間表,加入角色與url之間的對應關系:

創建基礎類

首先去掉前面的方法級別權限的注解,然后創建菜單實體類:

創建查詢方法,根據url查詢次鏈接對應的所有角色名稱:

對應的sql語句如下:

路由動態獲取角色

首先增加一個處理類,在收到訪問的時候,動態獲取當前url的角色:

新建一個ObjectPostProcessor類,將這個處理類配置到其中:

最后將新建的ObjectPostProcessor類配置到權限配置方法中:

路由決策管理

用戶與角色是多對多的關系,url與角色也是多對多的關系,這里的設定是,只要用戶與url對應的角色中有相同的存在,就表示用戶有訪問的權限。首先看一下對應判斷的處理類:

使用雙重for循環進行判斷,并進行結果投票。在注釋中可以看到,使用不同的方式會產生不同的策略。下一步在security配置類中配置路由策略方法:

除了UrlRoleAuthHandler類,其它決策類使用的都是security存在的類,最后在權限配置中配置決策管理:

測試

這樣動態權限url就配置好了,根據上面方法中的數據,可以登錄查看是否具有對應的url權限,沒有配置的是否不具備權限。

代碼地址:https://gitee.com/blueses/spring-boot-security 11

總結

以上是生活随笔為你收集整理的java 权限url权限_SpringBootSecurity学习(11)网页版登录之URL动态权限的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。