WebMvcConfigurer和WebSecurityConfigurerAdapter之间的区别

use*_*892 5 spring-security

两者之间有什么区别?什么时候可以使用另一个?

Spring Security文档中,它说WebMvcConfigurer具有以下功能:

要求对应用程序中的每个URL进行身份验证

WebSecurityConfigurerAdapter所示例子HttpSecurity说:

确保对我们应用程序的任何请求都需要对用户进行身份验证。

是不是一样?

编辑

这两种类型的配置似乎有不同的用途,我只是不太了解何时使用哪种配置:每种配置类型的两种不同情况是什么?

HttpSecuriy部分的简介中,它说

Spring Security如何知道我们要要求所有用户进行身份验证?Spring Security如何知道我们要支持基于表单的身份验证?

所以现在我在想:第一个提示对用户进行身份验证时会发生什么,第二个提示在什么情况下需要对用户进行身份验证。那是对的吗?

例如,第一个配置“为您生成一个登录表单”,第二个配置确定何时应显示该登录表单?

pea*_*ter 4

这似乎是一个文档错误(https://github.com/spring-projects/spring-security/issues/6809):

这引起了人们对 WebMvcConfigurer 在 Spring Security 中的角色以及 WebMvcConfigurer 与 WebSecurityConfigurerAdapter 的用例的混淆。

该示例中的意图很可能是:

@EnableWebSecurity
public class WebSecurityConfig implements WebSecurityConfigurerAdapter {
Run Code Online (Sandbox Code Playgroud)

代替

@EnableWebSecurity
public class WebSecurityConfig implements WebMvcConfigurer {
Run Code Online (Sandbox Code Playgroud)