在Spring安全性中拒绝具有相同角色的多个用户的访问权限
我遇到过这种情况:我的应用程序有几个角色(管理员,主持人,用户)。 主持人和用户可以编辑一些表格。 所有的权利都可以。 但是当我作为用户(角色用户)登录并更改URL中的id时,我可以简单地获取并编辑另一个用户(角色用户)的表单。
如何拒绝访问并阻止此类操作?
PS。 弹簧和弹簧的安全版本是3.1.2
更新 – 添加了弹簧安全上下文
您似乎希望考虑安全规则的实际域对象。 具有用户和角色的正常SpringSecurity设置可以添加如下安全规则:who(具有某个角色的athenticated用户)可以访问某些URL /方法调用。 如果您希望能够使用这样的增强规则:who(具有某种角色的athenticated用户)可以访问某些URL /方法调用以及他可以使用哪些域对象,那么您需要使用ACLfunction 。
编辑。 但是如果你只需要一个像这样的安全规则那么设置ACL可能是一种过度杀伤力。 您可以尝试通过自定义Web安全表达式增强实际的SpringSecurity设置:
您的userIsAuthor()方法将在哪里:
- 从URL中提取对象的id(我想像/ moderator / item / 56这样 )
- 检查当前用户是否是项目id = 56的作者。
- 访问被拒绝(java.net.SocketPermission 127.0.0.1:8080 connect,resolve)
- 在IProject中搜索文件 – Eclipse
- 如何在Java中覆盖ArrayList的toString方法?
- 创建非反向工程的Java程序
- 如何为键是可变的JSON字符串创建一个java类?
- Rolls-Royce部署Java小程序的方式是什么?
- 在尝试设置spring servlet时获取“WARN org.springframework.web.servlet.PageNotFound – 没有为带有URI的HTTP请求找到映射…”
- 线程转储被阻止并锁定
- 为Class创建实例?