Spring Security中html页面设置hasRole无效的问题

Spring Security中html页面设置hasRole无效的问题

Spring Security中html页面设置hasRole无效的问题

一、前言

学了几天的spring Security,偶然发现的hasRole和hasAnyAuthority的区别。当然,可能有更深入的我没看到。现在把我实际的调试结果分享给大家

二、失效原因及解决

下面是部分示例html页面代码

  1. <div sec:authorize="hasRole(‘R_ADMIN‘)">

  2. <p class="bg-info">权限0001可见</p>

  3. </div>

  4. <div sec:authorize="hasRole(‘ROLE_MD‘)">

  5. <p class="bg-info">权限0002可见</p>

  6. </div>

  7. <div sec:authorize="hasAnyAuthority(‘R_ADMIN‘)">

  8. <p class="bg-info">权限0003可见</p>

  9. </div>

  10. <div sec:authorize="hasRole(‘ROLE_MD‘)">

  11. <p class="bg-info">权限0004可见</p>

  12. </div>

  13. <div sec:authorize="hasAnyAuthority(‘ADMIN‘)">

  14. <p class="bg-info">权限0005可见</p>

  15. </div>

  16. <div sec:authorize="hasRole(‘MD‘)">

  17. <p class="bg-info">权限0006可见</p>

  18. </div>

实际测试发现以下两点。

第一、在html页面中如果要使用hasRole去设置权限,那么必须是以ROLE_开头的角色。而hasAnyAuthority则不存在这个问题。查了一下官方文档并没有什么有用的东西。如果各位同学查到可以留言补充

再次调试发现第二点

第二、在html页面中使用hasRole时可以省略掉ROLE_部分,只在后端放入角色的时候前面加上ROLE_即可,而hasAnyAuthority不支持这么做。即当一个角色名是ROLE_MD的用户登录时,她能看到2、4、6;所以在权限的放入时,比如:auths.add(new SimpleGrantedAuthority(role.getRoleCode()));可以在前面加个ROLE_,html页面仍然写原来的角色名就行。

2019-04-0919:44:51

推荐阅读

    6000元教你黑盒5000+权限配置

    6000元教你黑盒5000+权限配置,,一系列的价格后,最经典的AMD双核处理器mdash;mdash;Athlon 64 X2 5000 +黑版mdash;mdash;目前的价格已经低至565

    wps如何进行页面设置

    wps如何进行页面设置,WPS教程,1.wps中页眉页脚怎样设置首先我们需要在设置不同页眉或页脚的分界处,即两个具有不同页眉或页脚的页面之间,插

    虾类安装经验分享!

    虾类安装经验分享!,,虾类安装经验分享: 1,机箱的电源光盘应该接近代理价格,而内存和硬盘的价格是在互联网上找到的即时价格。主板套件,视频卡

    一般页面设置|页面设置主要设置什么

    一般页面设置|页面设置主要设置什么,,1. 页面设置主要设置什么1.“开始”里边有样式集,可供你设置统一样式;2. 如果是自定义模板,就将模板素

    获取电脑的ip|获取电脑的管理员权限

    获取电脑的ip|获取电脑的管理员权限,,1. 获取电脑的管理员权限添加管理员权限就是将普通用户赋予administrator权限,具体操作步骤如下:选择