Как добавить добавить дополнительную роль для пользователя?

Я начал с учебного сайта play-authenticate-use. У меня есть игра 2.1, Deadbolt 2.1 и игра аутентификации 1.0

К сожалению, я парень JDBC и новичок в JPA и аннотации.

Все отлично работает, я понимаю, как использовать @Restrict для ролей. Чего я не вижу, так это как программно назначить пользователю дополнительную роль. Я ожидал увидеть функцию в классе User, что-то вроде User.addRole (строковая роль)

Я попробовал следующее в классе 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");
}

спасибо чет

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");
    }
} 
Другие вопросы по тегам