Spring Security 是 Spring Framework 的一個子項目
Spring Security 能用於保護各類 Java 應用程序(權限管理框架). 但在基於 Web 的應用程序中使用得最爲普遍.
Spring Security 能以聲明的方式來保護 Web 應用程序的 URL 訪問. 只需簡單的配置便可實現.
Spring Security 經過一系列 Servlet 過濾器爲 Web 應用程序提供多種安全服務.
1. 搭建環境: 1). 加入 jar 包: Spring 的 jar 包和 SpringSecurity 的 jar 包. commons-logging-1.1.1.jar spring-aop-4.0.0.RELEASE.jar spring-beans-4.0.0.RELEASE.jar spring-context-4.0.0.RELEASE.jar spring-core-4.0.0.RELEASE.jar spring-expression-4.0.0.RELEASE.jar spring-web-4.0.0.RELEASE.jar spring-security-config-3.1.0.M1.jar spring-security-core-3.1.0.M1.jar spring-security-taglibs-3.1.0.M1.jar spring-security-web-3.1.0.M1.jar 2). web.xml 文件中的配置: 配置 Spring, 配置 SpringSecurity 的 Filter <!-- 配置 Spring 的 Listener --> <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:applicationContext.xml </param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 配置 SpringSecurity 的 Filter --> <filter> <filter-name>springSecurityFilterChain</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> </filter> <filter-mapping> <filter-name>springSecurityFilterChain</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> 3). 在 Spring 的配置文件中配置 SpringSecurity 的信息: 須要攔截的 URL, 用戶信息 <!-- 配置 http 請求相關的信息 --> <security:http auto-config="true"> <!-- 攔截的路徑, 以及訪問該路徑須要有的權限 --> <security:intercept-url pattern="/index.jsp" access="ROLE_USER"/> <security:intercept-url pattern="/admin.jsp" access="ROLE_ADMIN"/> </security:http> <!-- 配置用戶信息 --> <security:user-service id="userSerivce"> <!-- 配置用戶名, 密碼, 權限 --> <security:user name="admin" password="admin" authorities="ROLE_ADMIN, ROLE_USER"/> <security:user name="user" password="user" authorities="ROLE_USER"/> </security:user-service> <!-- 配置權限管理信息 --> <security:authentication-manager> <!-- 使用前面配置的用戶信息 --> <security:authentication-provider user-service-ref="userSerivce"> </security:authentication-provider> </security:authentication-manager>