Как добавить добавить дополнительную роль для пользователя?
Я начал с учебного сайта 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");
}
}