91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringBootSecurity中URL動態權限是怎樣的

發布時間:2021-09-28 09:36:33 來源:億速云 閱讀:104 作者:柒染 欄目:大數據

這篇文章將為大家詳細講解有關SpringBootSecurity中URL動態權限是怎樣的,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

動態權限

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

創建表

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

SpringBootSecurity中URL動態權限是怎樣的

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

SpringBootSecurity中URL動態權限是怎樣的

創建基礎類

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

SpringBootSecurity中URL動態權限是怎樣的

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

SpringBootSecurity中URL動態權限是怎樣的

對應的sql語句如下:

SpringBootSecurity中URL動態權限是怎樣的

路由動態獲取角色

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

SpringBootSecurity中URL動態權限是怎樣的

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

SpringBootSecurity中URL動態權限是怎樣的

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

SpringBootSecurity中URL動態權限是怎樣的

路由決策管理

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

SpringBootSecurity中URL動態權限是怎樣的

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

SpringBootSecurity中URL動態權限是怎樣的

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

SpringBootSecurity中URL動態權限是怎樣的

測試

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

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

關于SpringBootSecurity中URL動態權限是怎樣的就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

米脂县| 陆川县| 德安县| 建昌县| 吉水县| 普格县| 合山市| 澄迈县| 河池市| 太仓市| 石楼县| 雷山县| 阜南县| 鲁甸县| 兴安盟| 仁寿县| 行唐县| 卫辉市| 洛浦县| 临安市| 蓝山县| 凯里市| 镇坪县| 离岛区| 昌黎县| 乌拉特后旗| 宁河县| 通辽市| 镶黄旗| 建昌县| 札达县| 宜川县| 潜江市| 莱芜市| 浙江省| 襄汾县| 潮州市| 上饶市| 涞源县| 大方县| 九台市|