五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Spring Security Role 使用 Hierarchy 后遇到的一個判斷問題

2022-05-15 14:29 作者:-l0_0l-  | 我要投稿

在了解 Spring Security role 繼承的過程中,因為想使用自定義的 Web Security Expression 取代 @PreAuthorize 進(jìn)行 role 判斷, 發(fā)現(xiàn) HttpServletRequest.isUserInRole 不能判斷出 role 的繼承關(guān)系。

網(wǎng)上搜索了一圈,沒發(fā)現(xiàn)有人遇到這個問題,不知是否搜索引擎的問題,亦或都用 Shiro 實現(xiàn)訪問控制?

總之,當(dāng)前能想到的就:

獲取 RoleHierarchy 中 role 的繼承關(guān)系,然后自行判斷。

但這樣又引出另一個問題,怎么獲取 role prefix 。

又是比較冷門的問題。。。

之后,找到了兩種方法:

  • SimpleAttributes2GrantedAuthoritiesMapper.getGrantedAuthorities 獲取到的權(quán)限加了前綴

  • 設(shè)置 GrantedAuthorityDefaults Bean ,自定義前綴

不過不知道是否對 Spring 了解得不多,感覺這兩種方法都不怎么靠譜。

最后列出兩種方法判斷 role 的代碼。

1. SimpleAttributes2GrantedAuthoritiesMapper



2. GrantedAuthorityDefaults

通過設(shè)置 GrantedAuthorityDefaults 修改 role prefix ,可能修改不完全:

  • User.roles 中固定了 prefix ,可以用 User.authorities 代替

  • ROLE_ANONYMOUS 是一個固定值

代碼1? application.yaml



代碼2? MyConfiguration.java



代碼3? TestService.java



代碼4? CustomUserDetailService.java


Spring Security Role 使用 Hierarchy 后遇到的一個判斷問題的評論 (共 條)

分享到微博請遵守國家法律
泽库县| 客服| 广汉市| 博野县| 潮州市| 兴化市| 朝阳县| 突泉县| 沙田区| 隆子县| 吉首市| 南通市| 嘉峪关市| 桃源县| 盘山县| 昌乐县| 汽车| 罗山县| 涞水县| 兴仁县| 定南县| 东山县| 当阳市| 沙洋县| 莱阳市| 黄冈市| 如皋市| 武安市| 舟山市| 丹江口市| 图木舒克市| 彭州市| 禹州市| 晋江市| 临湘市| 庆阳市| 来凤县| 萍乡市| 深水埗区| 右玉县| 仪陇县|