在我的 grails 应用程序中,我安装了 spring security acl 并且它工作正常。我有一个域类客户和三个角色,即管理员、销售和其他。如何为同一个域实例上的不同用户授予权限,即对于ROLE_ADMIN(创建、读取、删除和写入)、对于ROLE_SALES(创建、读取)和ROLE_OTHERS(创建、读取、写入)。
示例:x 是由管理员角色创建的客户实例,具有写入、删除、读取权限。对于同一个 x 实例,如何为销售角色授予读、写权限以及为其他角色授予创建、读、写权限
在我的 grails 应用程序中,我安装了 spring security acl 并且它工作正常。我有一个域类客户和三个角色,即管理员、销售和其他。如何为同一个域实例上的不同用户授予权限,即对于ROLE_ADMIN(创建、读取、删除和写入)、对于ROLE_SALES(创建、读取)和ROLE_OTHERS(创建、读取、写入)。
示例:x 是由管理员角色创建的客户实例,具有写入、删除、读取权限。对于同一个 x 实例,如何为销售角色授予读、写权限以及为其他角色授予创建、读、写权限
您可以@Secured
在类级别或方法级别放置授权注释。这样,您可以将控制器方法锁定到某些角色。例如,如果您有一个想要控制访问的事物域类,那么您可以这样注释它的控制器:
class ThingController {
@Secured(['ROLE_ADMIN', 'ROLE_SALES', 'ROLE_OTHERS'])
create() {
// creation logic
}
@Secured(['ROLE_ADMIN', 'ROLE_SALES', 'ROLE_OTHERS'])
read() {
// read logic
}
@Secured('ROLE_ADMIN')
delete() {
// delete logic
}
@Secured(['ROLE_ADMIN', 'ROLE_OTHERS'])
write() {
// write logic
}
}
这是一篇很好的 Grails Spring Security 介绍文章(在“添加访问控制”和“注释”下查看)。这是有关该主题的官方 Grails Spring Security 文档。