相关SpringSecurity对于部分菜单隐藏的相关代码

本文深入解析了 Spring Security 中的 ifAllGranted、ifAnyGranted 和 ifNotGranted 方法,以及 acl 标签如何用于权限控制,确保用户只能对特定对象执行指定的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. <%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%>   
  2.   
  3. <sec:authorize ifAllGranted="ROLE_ADMIN,ROLE_USER">   
  4.   admin and user   
  5. </sec:authorize>   
  6.   
  7. <sec:authorize ifAnyGranted="ROLE_ADMIN,ROLE_USER">   
  8.   admin or user   
  9. </sec:authorize>   
  10.   
  11. <sec:authorize ifNotGranted="ROLE_ADMIN">   
  12.   not admin   
  13. </sec:authorize>   
  14.        
  15. ifAllGranted,只有当前用户同时拥有ROLE_ADMIN和ROLE_USER两个权限时,才能显示标签内部内容。   
  16. ifAnyGranted,如果当前用户拥有ROLE_ADMIN或ROLE_USER其中一个权限时,就能显示标签内部内容。   
  17. ifNotGranted,如果当前用户没有ROLE_ADMIN时,才能显示标签内部内容。   
  18.   
  19. <sec:accesscontrollist domainObject="${item}" hasPermission="8,16">   
  20.       <a href="message.do?action=remove&id=${item.id}">Remove</a>   
  21. </sec:accesscontrollist>   
  22.   
  23. 我们将当前显示的对象作为参数传入acl标签,然后指定判断的权限为8(删除)和16(管理),当前用户如果拥有对这个对象的删除和管理权限时,就会显示对应的remove超链接,用户才可以通过此链接对这条记录进行删除操作。  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值