Привет всем экспертам Spring Security!
Я разработал несколько микросервисов и столкнулся с проблемой безопасности.
В своих проектах я использую аутентификацию / авторизацию через JWT.
Может ли кто-нибудь ответить мне, что может привести к исключению времени выполнения
{
"timestamp": "2019-02-02T00:40:38.211+0000",
"status": 500,
"error": "Internal Server Error",
"message": "Failed to evaluate expression 'authentication.name == userId'",
"path": ".../2"
}
в этом фрагменте кода:
@PreAuthorize("authentication.name == userId")
@GetMapping("/{userId}")
ResponseEntity<String> get(@PathVariable final String userId);
Я также попробовал это с @PreAuthorize("principal.username == #userId")
, но получилто же самое исключение между тем @PreAuthorize("hasAuthority('ROLE_COMRADE_MAJOR')")
ведет себя правильно.
Что я должен изменить, чтобы исправить эту проблему?