你没有权限... spring security shiro
Posted
技术标签:
【中文标题】你没有权限... spring security shiro【英文标题】:You do not have permission... spring security shiro 【发布时间】:2017-09-24 17:03:50 【问题描述】:我目前正在实施 spring security shiro 插件,但似乎遇到了权限问题。下面是我的设置。我在访问我应该有权访问的资源时收到“您无权访问此订单...”。
域类
class Permission
Account user
String permission
static constraints =
permission unique: 'user'
控制器
if(!subject.isPermitted("todo:edit:$todo.id"))
flash.message = "You do not have permission to access this order..."
forward(controller:'todo', action:'list')
return
自举数据
account.addToPermissions("todo:save")
account.addToPermissions("todo:edit:" + todo.id)
account.addToPermissions("todo:update:" + todo.id)
account.addToPermissions("todo:remove:" + todo.id)
account.save(flush:true)
权限匹配,但不确定 hickup 在哪里。 isPermitted
现在应该可以正常工作了。
任何指导将不胜感激。
提前感谢您的帮助。
问候
【问题讨论】:
【参考方案1】:用户类需要有一个 hasMany 的 Permission 对象。在旧版本中,用户类有一个 hasMany 的权限字符串。我还必须删除 Permission 域类中的约束部分。
class Account
static hasMany = [ permissions: Permission ]
class Permission
Account user
String permission
static constraints =
【讨论】:
以上是关于你没有权限... spring security shiro的主要内容,如果未能解决你的问题,请参考以下文章
Spring Security +Oauth2 +Spring boot 动态定义权限
spring-security 开启注解权限控制为什么没有效果
没有 Spring Security ACL 的 Spring 对象级权限