В чем разница между этими двумя? Когда я могу использовать одно вместо другого?
В Документация по безопасности Spring говорится, что, среди прочего, WebMvcConfigurer имеет следующие особенности:
Require authentication to every URL in your application
Пример WebSecurityConfigurerAdapter, показанный в HttpSecurity, говорит:
Ensures that any request to our application requires the user to be authenticated.
Разве это не то же самое?
РЕДАКТИРОВАТЬ
Эти два типа конфигураций, кажется, служат разным целям, я просто еще не совсем понимаю, когда использовать какие: Каковы два разных сценария для каждого из типов конфигурации?
Во введении к разделу HttpSecuriy говорится
How does Spring Security know that we want to require all users to be authenticated? How does Spring Security know we want to support form based authentication?
Итак, прямо сейчас я думаю: первый говорит, что должно произойти при аутентификации пользователя, а второй говорит, в каких случаях пользователи должны быть аутентифицированы. Это правильно?
Например, первая конфигурация «Создать для вас форму входа», а вторая определяет, когда должна отображаться эта форма входа?





Похоже, это ошибка документации (https://github.com/spring-projects/spring-security/issues/6809):
This raises confusion about the role of WebMvcConfigurer in Spring Security and the use cases for WebMvcConfigurer vs WebSecurityConfigurerAdapter.
Most likely the intention in the example was:
@EnableWebSecurity public class WebSecurityConfig implements WebSecurityConfigurerAdapter {instead of
@EnableWebSecurity public class WebSecurityConfig implements WebMvcConfigurer {