У меня есть такой боб в конфигурации безопасности: < /p>
@Bean
public SecurityFilterChain filterChain(HttpSecurity http, CustomAuthorizationManager authorizationManager) throws Exception {
return http.authorizeHttpRequests(
auth -> auth.dispatcherTypeMatchers(FORWARD, ERROR).permitAll()
.requestMatchers("/error").permitAll()
.anyRequest().access(authorizationManager))
.oauth2ResourceServer(
configurer -> configurer.jwt(Customizer.withDefaults()))
.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.NEVER))
.build();
}
< /code>
И у меня есть такие случаи: < /p>
[*] (ожидаемый) Допустимый токен с действительной роль начал работать -> предоставленный доступ -> Код состояния 200
[*] (ожидается) Неверный токен -> Не аутентифицирован -> Менеджер авторизации не был задействован -> Код состояния 401
(ожидается) Действительный токен без роли -> Аутентификация -> Менеджер авторизации начал работать -> Доступ не предоставлен -> Код состояния 403 < /li>
(не ожидается) Нет токена - > Менеджер авторизации по -прежнему начал работать (я вижу его в журналах) -> Доступ не предоставлен -> Код состояния 401 < /li>
< /ol>
, не могли бы вы объяснить последний случай?
Почему авторизация Менеджер запускается, даже если запрос не должен был быть аутентифицирован? Насколько я понимаю, это не должно быть вовлечено, если запрос не был аутентифицирован до него. предоставить доступ?
Подробнее здесь: https://stackoverflow.com/questions/794 ... ng-securit