- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我们的应用程序中,我们计划使用RoleVoter
机制,但是我们想删除ROLE_
前缀,因为我们实现的安全性更多的是基于任务的,而不是基于角色的。
从技术上讲,实现没有问题,但是我在文档using the RoleVoter
with an empty prefix should be discouraged中找到了。
我想知道为什么吗?
在AFAICS中,唯一的问题是,没有前缀,RoleVoter
将参与其不打算进行的决策(例如IS_AUTHENTICATED_FULLY
,IS_AUTHENTICATED_REMEMBERED
,...),并且可能会返回拒绝访问而不是弃权。
您能否确认这是唯一一个带有空前缀的问题?
提前致谢
M.
最佳答案
是的。如果您使用的是多个选民或自定义选民,那么他们需要某种方式来了解应该使用哪些属性。例如,如果您有一个DayOfTheWeekVoter
且您使用属性ROLE_USER,DAY_MONDAY
定义了一个资源,则RoleVoter
可能会投票授予访问权限,因为该用户具有“用户”角色,但是DayOfTheWeekVoter
可能会拒绝访问,因为它不是星期一。
如果您没有使用前缀配置RoleVoter
,那么它将检查用户是否具有分配给他们的名为“DAY_MONDAY”的权限,因此该方案将不起作用。
如果只对角色感兴趣,那么可以不带前缀,也可以使用不使用hasRole('user')
的表达式(例如RoleVoter
)。
关于spring-security - 为什么Spring Security的RoleVoter需要前缀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11539162/
我可以在其中一个项目中看到以下配置
在我正在工作的项目中,我们根据角色 ID 而不是角色描述进行身份验证,并且此映射存储在数据库中。 我的问题是,如何删除 Spring Security 的 RoleVoter 前缀以实现上述设计? 最
我正在尝试使用 Java Config 设置一个 Spring Security 3.2 项目,根本不使用 XML。我想要一个支持 RoleHierarchyVoter 和 AclEntryVoter
在 supports(Class clazz) RoleVoter的方法,它总是返回 true 说 This implementation supports any type of class, be
我们正在将应用程序从 Spring 3.0.1 升级到 Spring 4.1.6。我们还将 Spring Security Module 升级到 4.0.1 我们面临的问题是链接的访问。 小背景: 每
我是一名优秀的程序员,十分优秀!