【问题标题】:How do I add add an additional role to a user?如何向用户添加附加角色?
【发布时间】:2013-05-21 23:27:15
【问题描述】:

我从教程网站 play-authenticate-usage 开始。我玩过 2.1、deadbolt 2.1 和 play authenticate 1.0

不幸的是,我是一名 JDBC 专家,并且是 JPA 和注释的新手。

一切正常,我了解如何将@Restrict 用于角色。我没有看到如何以编程方式为用户分配额外的角色。我希望在 User 类中看到一个函数,类似于 User.addRole(String role)

我在 User 类中尝试了以下操作,但没有成功(没有错误,只是没有更新表)...

Change public List<? extends Role> to public List<SecurityRole>

public void addRole( String roleName ) 
{
    SecurityRole grRole = SecurityRole.findByRoleName( Application.NEW_ROLE );

    this.getRoles().add( grRole );
    this.save();
    this.saveManyToManyAssociations("roles");
}

谢谢,切特

【问题讨论】:

    标签: playframework-2.0 play-authenticate


    【解决方案1】:

    这似乎可行,修改是对模型/身份验证/用户...

    Change public List<? extends Role> to public List<SecurityRole>
    
    public void addRole( String roleName )
    {
        SecurityRole newRole = SecurityRole.findByRoleName( roleName );
        if ( newRole == null )
        {
            newRole = new SecurityRole();
            newRole.roleName = roleName;
            newRole.save();
        }
    
        if ( ! this.getRoles().contains( newRole ) )
        {
            this.getRoles().add( newRole );
            this.save();
            this.saveManyToManyAssociations("roles");
        }
    } 
    

    【讨论】:

      猜你喜欢
      • 2016-04-17
      • 2021-06-11
      • 1970-01-01
      • 2018-09-03
      • 2018-09-10
      • 2021-12-21
      • 2022-01-16
      • 2020-09-09
      • 2019-11-10
      相关资源
      最近更新 更多