我目前正致力于实现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
现在应该没有问题。
非常感谢任何指导。
提前感谢您的帮助。
此致
答案 0 :(得分:0)
用户类需要拥有Permission对象的hasMany。在旧版本中,用户类具有hasMany权限字符串。我还必须删除Permission域类中的约束部分。
class Account{
static hasMany = [ permissions: Permission ]
}
class Permission {
Account user
String permission
static constraints = {
}
}