WebMvcConfigurer和WebSecurityConfigurerAdapter之间的区别

时间:2018-12-22 09:54:10

标签: spring-security

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

Spring Security Documentation中,它表示WebMvcConfigurer具有以下功能:

  

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

HttpSecurity中显示的WebSecurityConfigurerAdapter示例说:

  

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

不是吗?

编辑

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

HttpSecuriy 部分的简介中,

  

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

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

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

1 个答案:

答案 0 :(得分:1)

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

  

这使人们对WebMvcConfigurer在Spring Security中的角色以及WebMvcConfigurer与WebSecurityConfigurerAdapter的用例感到困惑。

     

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

@EnableWebSecurity
public class WebSecurityConfig implements WebSecurityConfigurerAdapter {
  

代替

@EnableWebSecurity
public class WebSecurityConfig implements WebMvcConfigurer {