Вот что Spring Security сделает при вызове /invalid-url
Если /invalid-url
является безопасным (по умолчанию)
- Сохранить запрос (
/invalid-url -> session
) - Вызов точки входа для аутентификации
- Перенаправление на / login
- Пользователь будет аутентифицировать
- После успешной аутентификации перенаправить на сохраненный запрос
/invalid-url
- Страница не найдена - перенаправить на обработчик ошибок
Если /invalid-url
небезопасна
- Страница не найдена - перенаправитьк обработчику ошибок
Таким образом, вам нужно объявить все ваши незащищенные URL, если вы хотите второй поток, перейдите непосредственно на страницу 404
.mvcMatchers("/login", "/error-404/**", "/invalid-url/**").permitAll()
Очевидно, что делать это:
.anyRequests().permitAll()
, поскольку последнее утверждение решит ваш вариант использования, это также опасно.Затем вы явно отображаете любую конечную точку, которая должна быть защищена.И если вы забудете об этом, эта конечная точка останется открытой.