Почему в Spring Security роли нужно писать с приставкой ROLE?
в Spring Security реализовывал ролевую систему и возникла для меня непонятная ситуация:
почему когда в enum с ролями написано USER и ADMIN, то ничего не работает и при попытке попасть на страничку которая доступна только админу выдает 403 ошибку, нет доступа, а когда написано ROLE_USER и ROLE_ADMIN, то все работает, почему так ? почему нужно писать приставку ROLE ? можно ли как то обойтись без этого или это обязательно ?
На самом деле необязательно писать ROLE_
Все зависит от метода, который вы используете. Если используете hasAuthority, то при проверке вам нужно к роли добавить ROLE. Например, hasAuthority("ROLE_ADMIN") Если же используете hasRole("ADMIN")
Role является разновидностью authority