Spring Security使用Servlet中的Filter保护Web请求限制URL级别的访问;使用Spring AOP保护方法调用——借助对象代理和通知。
1、添加Spring Security依赖
2、启用Spring Security,Spring Security是借助一系列Servlet Filter来提供web层的安全功能,但我们只需要声明一个Filter——DelegatingFilterProxy即可。
web.xml: <filter> <filter-name>springSecurityFilterChain</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> </filter>
借助WebApplicationInitializer以java方式配置:
public class MySecurityWebInitializer extends AbstractSecurityWebApplicationInitializer {}
AbstractSecurityWebApplicationInitializer实现了WebApplicationInitializer,因此spring会发现它。尽管我们可以重载appendFilters()或insertFilters()方法来注册自己的Filter,但要注册DelegatingFilterProxy的话,不需要重载任何方法。
3、配置Spring Security
@Configuration
@EnableWebSecurity // 启用Web安全
public class MySecurityConfig extends WebSecurityConfigurerAdapter {}
现在的配置,没有任何一个人可以访问系统。
4、添加配置