1. 程式人生 > >Sprting security安全框架配置maven構建專案

Sprting security安全框架配置maven構建專案

pom.xml 4.0.0 cn.qiupengfei.test spring-security-demo war 0.0.1-SNAPSHOT <spring.version>4.2.4.RELEASE</spring.version>

<dependencies>

	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-core</artifactId>
		<version>${spring.version}</version>
	</dependency>
	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-web</artifactId>
		<version>${spring.version}</version>
	</dependency>

	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-webmvc</artifactId>
		<version>${spring.version}</version>
	</dependency>

	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-context-support</artifactId>
		<version>${spring.version}</version>
	</dependency>

	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-test</artifactId>
		<version>${spring.version}</version>
	</dependency>

	<dependency>
		<groupId>org.springframework</groupId>
		<artifactId>spring-jdbc</artifactId>
		<version>${spring.version}</version>
	</dependency>

	<dependency>
		<groupId>org.springframework.security</groupId>
		<artifactId>spring-security-web</artifactId>
		<version>4.1.0.RELEASE</version>
	</dependency>

	<dependency>
		<groupId>org.springframework.security</groupId>
		<artifactId>spring-security-config</artifactId>
		<version>4.1.0.RELEASE</version>
	</dependency>

	<dependency>
		<groupId>javax.servlet</groupId>
		<artifactId>servlet-api</artifactId>
		<version>2.5</version>
		<scope>provided</scope>
	</dependency>


</dependencies>
<build>
  <plugins>		
      <!-- java編譯外掛 -->
	  <plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<version>3.2</version>
			<configuration>
				<source>1.7</source>
				<target>1.7</target>
				<encoding>UTF-8</encoding>
			</configuration>
	  </plugin>      
      <plugin>
			<groupId>org.apache.tomcat.maven</groupId>
			<artifactId>tomcat7-maven-plugin</artifactId>
			<configuration>
				<!-- 指定埠 -->
				<port>9090</port>
				<!-- 請求路徑 -->
				<path>/</path>
			</configuration>
  	  </plugin>
   </plugins>  
</build>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
 <context-param>
	<param-name>contextConfigLocation</param-name>
	<param-value>classpath:spring-security.xml</param-value>
 </context-param>
 <listener>
	<listener-class>
		org.springframework.web.context.ContextLoaderListener
	</listener-class>
 </listener>

 <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> 

spring-security.xml

<?xml version="1.0" encoding="UTF-8"?>
	<!-- 配置頁面攔截規則  use-expressions:是否啟動spel表示式  啟動後 access = "hasRole('ROLE_USER')" 寫法-->
	
	<http use-expressions="false">
	
	   <!-- 當前使用者必須有ROLE_USER的角色才可以訪問根目錄及所屬子目錄的資源 -->
	    <intercept-url pattern="/**" access="ROLE_USER"/>
	 
	<!-- 開啟表單登陸功能 -->
	<form-login/>
	</http>
	
	<!-- 配置認證管理器 -->
	<authentication-manager>
	   <authentication-provider>
	   
	      <user-service>
	      
	       <!-- 定義一個使用者  name:使用者名稱稱  password:定義使用者密碼  authorities:使用者角色 -->
	      
	        <user name="admin"  password="123456" authorities="ROLE_USER"/>
	         
	      </user-service>
	         
	   </authentication-provider>
	        
	</authentication-manager>

</beans:beans>