Aub*_*ine 6 roles spring-security prefix
我正在研究如何创建自定义角色前缀,直到我意识到它无关紧要.只要我的db中的角色符合以下内容:
<security:intercept-url pattern="/person/myProfile/**" access= "hasRole('BlaBla')" />
Run Code Online (Sandbox Code Playgroud)
并且它不是示例,在db中我确实设置角色BlaBla进行测试并且它有效.
当我得到不同的行为时,我不喜欢 - 很多人都有设置自定义前缀来创建自定义角色的问题.在这里会发生什么,我应该期待隐藏的岩石吗?
我有3.0.7版本.在我对权限的查询中,我没有"默认"值......是否由版本引起?
可能您正在使用:
<http use-expressions="true">
Run Code Online (Sandbox Code Playgroud)
配置 WebExpressionVoter ,它将为拥有授予权限“BlaBla”的用户投票(在您的情况下)
请记住,安全对象(例如 URL)的授权是由 AccessDecisionManager 执行的。
具体的 AccessDecisionManager 共有三种:肯定、一致和一致。
为了做出决定,他们使用 AccessDecisionVoters 列表。
RoleVoter,您所期望的,具有可配置的 rolePrefix(默认为 ROLE_)、AuthenticatdVoter 和新的 WebExpressionVoter。
不要忘记 AccessDecissionManager 及其投票者的组合可能会以您认为不合逻辑的方式允许或拒绝权限。
我建议您调试请求以查看 URL 和模式是否符合您的预期。
| 归档时间: |
|
| 查看次数: |
5167 次 |
| 最近记录: |