WebSecurityConfigurerAdapter

WebSecurityConfigurerAdapter

这两个类:

WebSecurityConfigurerAdapter
GlobalAuthenticationConfigurerAdapter

似乎对我做同样的事情。它们都提供了不同的方法configure(...)来定制WebSecurity,例如配置UserDetailsService。在互联网上找到的一些示例中,我看到两个类都得到了扩展(像这个类,http://ryanjbaxter.com/2015/01/06/securing-rest-apis-with-spring-boot/):
@Configuration
class WebSecurityConfiguration extends GlobalAuthenticationConfigurerAdapter {...}


@EnableWebSecurity
@Configuration
class WebSecurityConfig extends WebSecurityConfigurerAdapter {...}

,但在某些示例中,仅需要WebSecurityConfigurerAdapter(扩展)。

我不确定两者之间的区别吗?另一个人不能做什么?或者,如果都需要它们,那么对于Spring安全性的哪个方面来说,它们中的哪一个呢?

我所看到的唯一区别是@EnableWebSecurity通常在扩展WebSecurityConfigurerAdapter的类上方进行注释,但在扩展GlobalAuthenticationConfigurerAdapter的类上方却未添加注释

============ 实验 ==================

我尝试删除扩展了GlobalAuthenticationConfigurerAdapter的类,并将与UserDetailsS​​ervice相关的代码携带到扩展了WebSecurityConfigurerAdapter的类中(有关实际代码,请参见上面的链接),它仍然可以工作。

最佳答案

基本上WebSecurityConfigurerAdapter用于创建FilterChainProxy请引用此docsGlobalAuthenticationConfigurerAdapter用作SecurityConfigurer,可用于轻松构建内存身份验证,LDAP身份验证,基于JDBC的身份验证,添加UserDetailsS​​ervice以及添加AuthenticationProvider。请参阅此docs希望对您有所帮助!

09-12 06:22