最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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 后遇到的一個判斷問題的評論 (共 條)

分享到微博請遵守國家法律
灵石县| 石台县| 汕尾市| 裕民县| 昌平区| 梁河县| 卓尼县| 邢台县| 遂昌县| 广丰县| 福贡县| 昌图县| 河池市| 卓尼县| 兴化市| 田东县| 清镇市| 乌什县| 衡阳县| 苏尼特右旗| 本溪| 花垣县| 松江区| 久治县| 开封市| 金乡县| 阿克陶县| 垣曲县| 彭阳县| 桂平市| 宕昌县| 鹤峰县| 潞西市| 平原县| 林西县| 龙海市| 集安市| 阿克陶县| 荥经县| 屯留县| 石渠县|