我可以在控制器操作中授予不同角色的权限,如下所示:
class ThingController {
@Secured(['ROLE_ADMIN', 'ROLE_SALES', 'ROLE_OTHERS'])
create() {
// creation logic
}
}
这意味着,具有上述角色的用户可以访问“创建”操作。好吧,没关系。但是这里的角色被定义为硬编码。但是,如果想动态添加更多角色或从“创建”操作中删除其中一个角色,我该怎么做?
我试过了
String roles='ROLE_ADMIN'
@Secured(["'"+roles.toString()+"'"])
但出现错误:
属性“值”应具有类型“java.lang.String”;但在@grails.plugins.springsecurity.Secured @ line -1,column -1 中找到类型“java.lang.Object”。
任何帮助将不胜感激。