spring security角色检查的疑问

在 eladmin文档 权限控制一章
有个地方没太懂,如下图所示:

图中hasAnyRole写的是参数是多个角色。
但下面使用的是这样的:

hasAnyRole('admin','menu:edit')

这里的admin角色可以理解,但是menu:edit是什么意思,这个不像是角色的意思吧?


回答:

其实从security" title="spring security">spring security 的角度来看,所有的不过都是权限 而已,角色时另类权限。而角色是可以用常量字符"ROLE_"来标识的。理论上来说,hasAnyRole('menu:edit') 是存在问题的,它表示authority -->ROLE_menu:edit这显然是不标准的用法,确实很容易让人迷惑。menu:edit 应该是表示编辑菜单的权限,应该使用hasAuthority。或者简单的@Secured来判断。至于role判断,则推荐抽象等级更高的RolesAllowed

已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。


回答:

先看hasAnyRole 这个是有任意一个权限就能访问
admin是角色
menu:edit是有编辑权限就能访问这个方法。

以上是 spring security角色检查的疑问 的全部内容, 来源链接: utcz.com/p/944480.html

回到顶部