如何与grails域类中特定ROLE的USER对象建立关系

时间:2014-01-30 03:24:36

标签: grails spring-security gorm

我有一个如下课程并使用 Spring Security插件

Class MyClass{

  User Manager   /** ONLY users of role "ROLE_MANAGER" **/

}

基本上我想拥有角色“ROLE_MANAGER”的用户,而不是拥有所有用户。

如何让它只显示CRUD中特定角色的用户,并在保存时确保它们。

如何在此处建立映射。

1 个答案:

答案 0 :(得分:0)

这是验证,因此您需要添加约束。由于它不是框架提供的常见约束,因此您可以使用validator

class MyClass {
  User manager
  static constraints = {
    manager validator : { User userInstance, MyClass instance ->
      //get the association.
      UserRole ur = UserRole.where {
        user == userInstance && role.authority == "ROLE_MANAGER"
      }.find()
      if(!ur) {
        return 'myclass.user.invalid'
      }
    }
  }
}