spring3 升级4 spring security4.2.x配置

来源:互联网 发布:淘宝上传生产许可证 编辑:程序博客网 时间:2024/06/05 03:50

为了体验一下java8,只好把spring3升级到了4,因为Spring3对java8不能完全支持。工程采用了maven,因此简单的更改了pom.xml,这个没什么好解释的了,至于spring.xml,spring-mvc.xml,spring-hibernate.xml等文件,只需要把版本改成4.0即可,不贴源码了,改动最大的是spring-security.xml(网上有多种配置方式),如果像我一样对4不甚理解的同学,可以只配置spring-security.xml即可(毕竟跟以前的配置方式相类似)。


spring-security.xml配置参考:

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xmlns:security="http://www.springframework.org/schema/security"       xsi:schemaLocation="http://www.springframework.org/schema/beans               http://www.springframework.org/schema/beans/spring-beans-4.2.xsd            http://www.springframework.org/schema/security            http://www.springframework.org/schema/security/spring-security-4.2.xsd">    <security:http pattern="/extjs/**" security="none"/>    <security:http pattern="/js/**" security="none"/>    <security:http pattern="/css/**" security="none"/>    <security:http pattern="/loginlogout/toLogin" security="none"/>    <security:http pattern="/loginlogout/login" security="none"/>    <!--  Spring-Security 的配置 -->    <security:http auto-config="true" use-expressions="true">        <security:headers>            <security:frame-options policy="SAMEORIGIN"/>        </security:headers>        <!--<security:access-denied-handler error-page="/user/denied"/>-->        <security:intercept-url pattern="/**" access="hasRole('ROLE_USER')"/>        <security:csrf disabled="true"/>        <security:form-login login-page="/loginlogout/toLogin"                             authentication-failure-url="/loginlogout/logout"                             default-target-url="/menu/toDemo" username-parameter="name" password-parameter="passwd"/>        <security:logout                logout-url="/loginlogout/logout"                logout-success-url="/loginlogout/logout"        />        <security:session-management invalid-session-url="/loginlogout/toLogin"                                     session-fixation-protection="newSession">            <security:concurrency-control max-sessions="1" expired-url="/loginlogout/toLogin"/>        </security:session-management>    </security:http>    <!-- 指定一个自定义的authentication-manager :customUserDetailsService -->    <security:authentication-manager alias="authenticationManager">        <security:authentication-provider ref="authenticationProvider">        </security:authentication-provider>    </security:authentication-manager>    <bean id="authenticationProvider"          class="org.springframework.security.authentication.dao.DaoAuthenticationProvider">        <property name="hideUserNotFoundExceptions" value="false"/>        <property name="userDetailsService" ref="customUserDetailsService"/>        <!--<beans:property name="passwordEncoder" ref="passwordEncode" />-->        <!--<beans:property name="saltSource" ref="saltSource" />-->        <property name="messageSource" ref="messageSource"/>        <!--<property name="userCache" ref="userCache" />-->        <!--<property name="messageSource" ref="messageSource" />-->        <!--<property name="passwordEncoder" ref="passwordEncode" />-->        <!--<property name="saltSource" ref="saltSource" />-->    </bean>    <bean id="customUserDetailsService" class="com.extjs.service.impl.CustomUserDetailsService"/>    <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">        <property name="basename" value="classpath:messages_zh_CN"/>    </bean>    <!-- 配置密码加密类 -->    <bean id="passwordEncode" class="org.springframework.security.authentication.encoding.Md5PasswordEncoder"/>    <bean id="saltSource" class="org.springframework.security.authentication.dao.ReflectionSaltSource">        <property name="userPropertyToUse" value="username"/>    </bean></beans>

pom.xml完整配置参考:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>com.wdy</groupId>  <artifactId>TestMaven</artifactId>  <packaging>war</packaging>  <version>1.0-SNAPSHOT</version>  <name>TestMaven Maven Webapp</name>  <url>http://maven.apache.org</url>  <properties>    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>    <maven.compiler.source>1.8</maven.compiler.source>    <maven.compiler.target>1.8</maven.compiler.target>  </properties>  <dependencies>    <!--Oracle12.1.0.2驱动-->    <dependency>      <groupId>com.oracle</groupId>      <artifactId>ojdbc8</artifactId>      <version>12.1.0.2.0</version>    </dependency>    <!-- log4j 日志 -->    <dependency>      <groupId>log4j</groupId>      <artifactId>log4j</artifactId>      <version>1.2.17</version>    </dependency>    <!-- servlet API -->    <dependency>      <groupId>javax.servlet</groupId>      <artifactId>javax.servlet-api</artifactId>      <version>3.1-b09</version>      <scope>provided</scope>    </dependency>    <!-- MySQL驱动 -->    <dependency>      <groupId>mysql</groupId>      <artifactId>mysql-connector-java</artifactId>      <version>5.1.24</version>    </dependency>    <!-- mchange C3P0 数据源 -->    <dependency>      <groupId>com.mchange</groupId>      <artifactId>c3p0</artifactId>      <version>0.9.5-pre2</version>    </dependency>    <!-- junit -->    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>4.11</version>      <scope>test</scope>    </dependency>    <!-- fastjson -->    <dependency>      <groupId>com.alibaba</groupId>      <artifactId>fastjson</artifactId>      <version>1.2.32</version>    </dependency>    <dependency>      <groupId>org.json</groupId>      <artifactId>json</artifactId>      <version>20170516</version>    </dependency>    <!-- struts2 -->    <!-- <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId>        <version>2.3.14</version> <exclusions> <exclusion> <groupId>javassist</groupId>        <artifactId>javassist</artifactId> </exclusion> </exclusions> </dependency>        <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-spring-plugin</artifactId>        <version>2.3.14</version> </dependency> <dependency> <groupId>org.apache.struts</groupId>        <artifactId> struts2-convention-plugin</artifactId> <version>2.3.14</version>        </dependency> -->    <!-- spring -->    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-core</artifactId>      <version>4.3.9.RELEASE</version>    </dependency>    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-context</artifactId>      <version>4.3.9.RELEASE</version>    </dependency>    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-jdbc</artifactId>      <version>4.3.9.RELEASE</version>    </dependency>    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-beans</artifactId>      <version>4.3.9.RELEASE</version>    </dependency>    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-web</artifactId>      <version>4.3.9.RELEASE</version>    </dependency>    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-webmvc</artifactId>      <version>4.3.9.RELEASE</version>    </dependency>    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-expression</artifactId>      <version>4.3.9.RELEASE</version>    </dependency>    <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-orm</artifactId>      <version>4.3.9.RELEASE</version>    </dependency>    <!-- aspectjweaver -->    <dependency>      <groupId>org.aspectj</groupId>      <artifactId>aspectjweaver</artifactId>      <version>1.8.10</version>    </dependency>    <!-- hibernate -->    <dependency>      <groupId>org.hibernate</groupId>      <artifactId>hibernate-core</artifactId>      <version>4.2.0.Final</version>    </dependency>    <!-- Spring Security -->    <dependency>      <groupId>org.springframework.security</groupId>      <artifactId>spring-security-core</artifactId>      <version>4.2.3.RELEASE</version>    </dependency>    <dependency>      <groupId>org.springframework.security</groupId>      <artifactId>spring-security-web</artifactId>      <version>4.2.3.RELEASE</version>    </dependency>    <dependency>      <groupId>org.springframework.security</groupId>      <artifactId>spring-security-config</artifactId>      <version>4.2.3.RELEASE</version>    </dependency>    <dependency>      <groupId>org.springframework.security</groupId>      <artifactId>spring-security-taglibs</artifactId>      <version>4.2.3.RELEASE</version>    </dependency>    <!-- jstl for jsp page -->    <dependency>      <groupId>jstl</groupId>      <artifactId>jstl</artifactId>      <version>1.2</version>    </dependency>    <!--json序列化的依赖-->    <dependency>      <groupId>org.codehaus.jackson</groupId>      <artifactId>jackson-core-asl</artifactId>      <version>1.9.13</version>    </dependency>    <dependency>      <groupId>org.codehaus.jackson</groupId>      <artifactId>jackson-mapper-asl</artifactId>      <version>1.9.13</version>    </dependency>    <dependency>      <groupId>com.fasterxml.jackson.core</groupId>      <artifactId>jackson-databind</artifactId>      <version>2.8.8.1</version>    </dependency>    <!--文件上传依赖-->    <dependency>      <groupId>org.apache.commons</groupId>      <artifactId>commons-lang3</artifactId>      <version>3.5</version>    </dependency>    <dependency>      <groupId>commons-io</groupId>      <artifactId>commons-io</artifactId>      <version>2.5</version>    </dependency>    <dependency>      <groupId>commons-fileupload</groupId>      <artifactId>commons-fileupload</artifactId>      <version>1.3.2</version>    </dependency>    <!--word转html依赖-->    <dependency>      <groupId>org.apache.poi</groupId>      <artifactId>poi</artifactId>      <version>3.16</version>    </dependency>    <dependency>      <groupId>org.apache.poi</groupId>      <artifactId>poi-excelant</artifactId>      <version>3.16</version>    </dependency>    <dependency>      <groupId>org.apache.poi</groupId>      <artifactId>poi-ooxml</artifactId>      <version>3.16</version>    </dependency>    <dependency>      <groupId>org.apache.poi</groupId>      <artifactId>poi-ooxml-schemas</artifactId>      <version>3.16</version>    </dependency>    <dependency>      <groupId>org.apache.poi</groupId>      <artifactId>poi-scratchpad</artifactId>      <version>3.16</version>    </dependency>    <!--图形转换依赖-->    <dependency>      <groupId>org.freehep</groupId>      <artifactId>freehep-graphicsio</artifactId>      <version>2.4</version>    </dependency>    <dependency>      <groupId>org.freehep</groupId>      <artifactId>freehep-graphicsio-emf</artifactId>      <version>2.4</version>    </dependency>    <dependency>      <groupId>org.freehep</groupId>      <artifactId>freehep-util</artifactId>      <version>2.1.1</version>    </dependency>    <dependency>      <groupId>org.freehep</groupId>      <artifactId>freehep-io</artifactId>      <version>2.2.2</version>    </dependency>  </dependencies>  <build>    <finalName>TestMaven</finalName>  </build></project>

原创粉丝点击