Как в Spring Boot прописать дефолтную роль юзеру
Как в Spring Boot прописать дефолтную роль юзеру, при его создании, в случае когда не устанавливаешь роль вручную? Для того чтобы основная масса пользователей автоматически получала роль самого низкого уровня доступа, а также чтобы её не приходилось каждый раз устанавливать, при изменении полей юзера.
Ответы (1 шт):
При создании бд если вы пишите скрипты вручную пропишите у юзера в таблице role varchar(30) not null default 'ROLE_USER' ;
Если вы используете auto-ddl и jpa над полем Role напишите аннотацию @Column(default=..)
Но все выше это один к одному. Если ваша связь многие ко многим то создайте таблицу ролей, таблицу юзеров, и промежуточную таблицу(в инете полно примеров), тогда процесс регистоации в сервисе будет проходить примерно так:
public User register(UserDto dto) {
User user = new User() ;
user.setUsername(dto.getUsername);
....
Role role = roleRepo.findByName("ROLE_USER");
user.setRoles(Collection.singletonList(role));
return userRepo.save(user);
}
Или попробуйте посмотреть документацию или туториалы на ютуб за более подробной информацией