【问题标题】:Grails, Spring Security core, change user authorityGrails,Spring Security核心,改变用户权限
【发布时间】:2015-07-01 12:52:19
【问题描述】:

我使用 Spring Security Core Plugin 生成了 Role、User 和 UserRole 类。我想直接在用户创建过程中设置用户角色。我在用户中添加了一个“角色”字段,但不知道应该如何以及在何处设置用户角色中的条目。

还有什么其他方法可以实现,比如重新验证以在之后更新用户角色?

【问题讨论】:

    标签: grails spring-security


    【解决方案1】:

    在创建用户和角色后,您应该从用户中删除指向角色的链接并使用下一个代码:

    UserRole.create(user,role,true)
    

    其中 user 你创建的用户,role 你创建的角色,true 表示 userRole 应该用 flush:true 创建 祝你好运!

    【讨论】:

      【解决方案2】:

      是的,它的作品!!!谢谢,这是我在服务中的代码:

      public String updateUser(long userId, String username, String password, long roleId){
          Object[] args = [messageSource.getMessage('spring.security.ui.login.username',null, null),username];
          def user = User.get(userId);
          def userTemp = User.findAllByUsername(username);
      
          if(userTemp.isEmpty() || userTemp.get(0).id == userId){
              def role = Role.get(roleId);
              user.username = username;
              user.roleId = roleId;
              if (password != ''){
                  user.password = password;
              }
              user.save(flush:true);
              UserRole.create(user,role,true);
              return "<span class='successMessage'><strong>" + messageSource.getMessage("message.common.record.saved.successfully", args, null) + "</strong></span>";
          } else {
              return "<span class='warnMessage'><strong>" + messageSource.getMessage("message.common.register.exist", args,null) + "</strong></span>";
          }       
      }
      

      【讨论】:

        猜你喜欢
        • 2012-05-24
        • 1970-01-01
        • 2011-09-18
        • 2011-11-23
        • 2016-05-24
        • 2016-08-30
        • 2013-06-21
        • 2014-04-14
        • 2016-08-11
        相关资源
        最近更新 更多