天天看點

Spring Security Web 安全

Spring Security使用Servlet中的Filter保護Web請求限制URL級别的通路;使用Spring AOP保護方法調用——借助對象代理和通知。

1、添加Spring Security依賴

2、啟用Spring Security,Spring Security是借助一系列Servlet Filter來提供web層的安全功能,但我們隻需要聲明一個Filter——DelegatingFilterProxy即可。

Spring Security Web 安全
Spring Security Web 安全

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