在 eladmin文档 权限控制一章
有个地方没太懂,如下图所示:
图中hasAnyRole
写的是参数是多个角色。
但下面使用的是这样的:
hasAnyRole('admin','menu:edit')
这里的admin
角色可以理解,但是menu:edit
是什么意思,这个不像是角色的意思吧?
在 eladmin文档 权限控制一章
有个地方没太懂,如下图所示:
图中hasAnyRole
写的是参数是多个角色。
但下面使用的是这样的:
hasAnyRole('admin','menu:edit')
这里的admin
角色可以理解,但是menu:edit
是什么意思,这个不像是角色的意思吧?
3 回答2.6k 阅读✓ 已解决
3 回答4.1k 阅读✓ 已解决
8 回答3.8k 阅读
4 回答2.8k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.6k 阅读✓ 已解决
4 回答1.9k 阅读
其实从spring security 的角度来看,所有的不过都是权限 而已,角色时另类权限。而角色是可以用常量字符"ROLE_"来标识的。理论上来说,
hasAnyRole('menu:edit')
是存在问题的,它表示authority
-->ROLE_menu:edit
这显然是不标准的用法,确实很容易让人迷惑。menu:edit
应该是表示编辑菜单的权限,应该使用hasAuthority
。或者简单的@Secured
来判断。至于role
判断,则推荐抽象等级更高的RolesAllowed
。已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。