在我们的应用程序,我们计划使用RoleVoter
机制,但我们希望,我们正在实施的安全性是基于比基于角色更任务删除ROLE_
前缀。为什么Spring Security的RoleVoter需要一个前缀?
从技术上讲,执行没有问题,但我在文档中发现using the RoleVoter
with an empty prefix should be discouraged。
我想知道为什么?
AFAICS,唯一的问题是,如果没有前缀,则RoleVoter
将参与决策,这并不意味着(如IS_AUTHENTICATED_FULLY
,IS_AUTHENTICATED_REMEMBERED
,...)和威力,而不是返回剥夺了自制的访问。
请问您是否确认这是空白前缀的唯一问题?
在此先感谢 M.
你好,卢克,我只是将Spring Boot从1.2.2升级到1.3.2,这开始为我制动。我的控制器有@PreAuthorize(“hasRole('Edit')”),现在开始检查ROLE_前缀。似乎您对hasRole()的解释自从发布此答案以来发生了变化,因为它正在通过RoleVoter。我试图找到方法来设置前缀为空“”但他们都没有工作......你能推荐另一种方式来做到这一点在Spring Boot 1.3.2? – szxnyc 2016-02-28 01:17:07
我改变它haaAuthority,它的工作。 – szxnyc 2016-05-21 13:23:14