这两个类:
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
的类,并将与UserDetailsService相关的代码传递给扩展WebSecurityConfigurerAdapter
的类(请参阅上面的链接获取实际代码),它仍然有效。< / p>