0

我从教程网站 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");
}

谢谢,切特

4

1 回答 1

0

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

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");
    }
} 
于 2013-05-23T16:42:26.830 回答