Spring Security使用Servlet中的Filter保護Web請求限制URL級别的通路;使用Spring AOP保護方法調用——借助對象代理和通知。
1、添加Spring Security依賴
2、啟用Spring Security,Spring Security是借助一系列Servlet Filter來提供web層的安全功能,但我們隻需要聲明一個Filter——DelegatingFilterProxy即可。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiZpdmLrN2bsJEZlR3YhJHdu92Qvw1cy9GdhNWak5WSn5WaulGb0V3TvwVbvNmLzd2bsJmbj5ycldWYtl2Lc9CX6MHc0RHaiojIsJye.gif)
web.xml:
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
xml配置方式
借助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、添加配置
檢視項目示例:https://github.com/ChangMike/spring