Spring security实现权限管理

               

1、配置文件

1、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>org.nercita</groupId>  <artifactId>BCP</artifactId>  <packaging>war</packaging>  <version>0.0.1-SNAPSHOT</version>  <name>BCP</name>  <url>http://maven.apache.org</url>    <properties>    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>    <spring.version>4.0.5.RELEASE</spring.version>          <spring.security.version>3.2.3.RELEASE</spring.security.version>    <hibernate.version>4.3.5.Final</hibernate.version>    </properties>  <dependencies>      <!-- junit -->    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>4.11</version>      <scope>test</scope>     </dependency>      <dependency>      <groupId>javax.servlet</groupId>      <artifactId>jstl</artifactId>      <version>1.2</version>      <scope>provided</scope>    </dependency>    <dependency>      <groupId>javax.servlet.jsp</groupId>      <artifactId>jsp-api</artifactId>      <version>2.1</version>      <scope>provided</scope>    </dependency>        <dependency>      <groupId>org.glassfish</groupId>      <artifactId>javax.annotation</artifactId>      <version>3.0.1</version>    </dependency>    <dependency>      <groupId>org.glassfish</groupId>      <artifactId>javax.ejb</artifactId>      <version>3.0.1</version>    </dependency>    <dependency>      <groupId>org.jboss.weld</groupId>      <artifactId>weld-osgi-bundle</artifactId>      <version>1.0.1-SP3</version>      <exclusions>                      <exclusion>             <groupId>javassist</groupId>             <artifactId>javassist</artifactId>            </exclusion>    </exclusions>    </dependency>    <dependency>      <groupId>org.glassfish</groupId>      <artifactId>javax.servlet</artifactId>      <version>3.0.1</version>    </dependency>        <!-- spring4 -->    <dependency>       <groupId>org.springframework</groupId>       <artifactId>spring-core</artifactId>       <version>${spring.version}</version>    </dependency>        <dependency>       <groupId>org.springframework</groupId>       <artifactId>spring-aop</artifactId>       <version>${spring.version}</version>    </dependency>    <dependency>       <groupId>org.springframework</groupId>       <artifactId>spring-context</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-jdbc</artifactId>       <version>${spring.version}</version>    </dependency>      <dependency>       <groupId>org.springframework</groupId>       <artifactId>spring-beans</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-expression</artifactId>       <version>${spring.version}</version>    </dependency> <dependency>  <groupId>org.springframework</groupId>  <artifactId>spring-orm</artifactId>  <version>${spring.version}</version> </dependency>  <dependency>  <groupId>org.springframework</groupId>  <artifactId>spring-oxm</artifactId>  <version>${spring.version}</version> </dependency>   <dependency>  <groupId>org.springframework</groupId>  <artifactId>spring-aspects</artifactId>  <version>${spring.version}</version>    </dependency>    <dependency>        <groupId>org.springframework</groupId>        <artifactId>spring-tx</artifactId>        <version>${spring.version}</version>    </dependency>            <dependency>      <groupId>org.springframework</groupId>      <artifactId>spring-test</artifactId>      <version>${spring.version}</version>    </dependency>        <!-- spring mvc -->    <dependency>  <groupId>org.springframework</groupId>  <artifactId>spring-webmvc</artifactId>  <version>${spring.version}</version> </dependency>     <!--    <dependency>  <groupId>org.springframework</groupId>  <artifactId>spring-webmvc-portlet</artifactId>  <version>${spring.version}</version> </dependency>  -->          <!-- spring security -->    <dependency>  <groupId>org.springframework.security</groupId>  <artifactId>spring-security-core</artifactId>  <version>${spring.security.version}</version> </dependency>  <dependency>  <groupId>org.springframework.security</groupId>  <artifactId>spring-security-config</artifactId>  <version>${spring.security.version}</version> </dependency>  <dependency>  <groupId>org.springframework.security</groupId>  <artifactId>spring-security-taglibs</artifactId>  <version>${spring.security.version}</version> </dependency>  <dependency>  <groupId>org.springframework.security</groupId>  <artifactId>spring-security-web</artifactId>  <version>${spring.security.version}</version> </dependency>            <!-- aspectj weaver.jar 这是SpringAOP所要用到的依赖包 -->    <dependency>        <groupId>org.aspectj</groupId>     <artifactId>aspectjweaver</artifactId>     <version>1.8.2</version>    </dependency>    <dependency>        <groupId>org.aspectj</groupId>        <artifactId>aspectjrt</artifactId>        <version>1.8.2</version>    </dependency>         <!-- 数据库驱动-mysql -->    <dependency>       <groupId>mysql</groupId>       <artifactId>mysql-connector-java</artifactId>       <version>5.1.26</version>    </dependency>        <!-- 数据库驱动-oracle --> <dependency>             <groupId>com.oracle</groupId>    <artifactId>ojdbc6</artifactId>    <version>12.1.0.1</version> </dependency>                <!-- 数据库连接池 -->    <dependency>  <groupId>com.mchange</groupId>  <artifactId>c3p0</artifactId>  <version>0.9.5</version> </dependency>        <!-- hibernate4 核心及依赖包  -->    <dependency>  <groupId>org.hibernate</groupId>  <artifactId>hibernate-core</artifactId>  <version>${hibernate.version}</version>  <exclusions>                      <exclusion>             <groupId>org.javassist</groupId>             <artifactId>javassist</artifactId>         </exclusion>         <exclusion>             <artifactId>c3p0</artifactId>             <groupId>c3p0</groupId>         </exclusion>     </exclusions>      </dependency>         <!-- 支持JPA规范的core门面 -->    <dependency>        <groupId>org.hibernate</groupId>        <artifactId>hibernate-entitymanager</artifactId>        <version>${hibernate.version}</version>        <exclusions>         <exclusion>             <groupId>org.javassist</groupId>             <artifactId>javassist</artifactId>         </exclusion>     </exclusions>            </dependency>         <dependency>         <groupId>org.hibernate</groupId>        <artifactId>hibernate-ehcache</artifactId>        <version>${hibernate.version}</version>    </dependency>       <!-- JPA注解的实现 -->    <!--        <dependency>      <groupId>org.hibernate.javax.persistence</groupId>      <artifactId>hibernate-jpa-2.0-api</artifactId>      <version>1.0.1.Final</version> </dependency>   -->  <dependency>     <groupId>org.hibernate.javax.persistence</groupId>  <artifactId>hibernate-jpa-2.1-api</artifactId>  <version>1.0.0.Final</version> </dependency>     <!-- 为了让Hibernate使用代理模式,需要javassist -->    <dependency>  <groupId>org.javassist</groupId>  <artifactId>javassist</artifactId>  <version>3.18.1-GA</version>    </dependency>            <!-- antlr -->    <dependency>        <groupId>antlr</groupId>        <artifactId>antlr</artifactId>        <version>2.7.7</version>    </dependency>        <!-- dom4j -->    <dependency>        <groupId>dom4j</groupId>        <artifactId>dom4j</artifactId>        <version>1.6.1</version>    </dependency>    <!-- apache commons -->    <dependency>        <groupId>commons-dbcp</groupId>        <artifactId>commons-dbcp</artifactId>        <version>1.4</version>    </dependency>    <dependency>        <groupId>commons-pool</groupId>        <artifactId>commons-pool</artifactId>        <version>1.4</version>    </dependency>      <dependency>        <groupId>commons-collections</groupId>        <artifactId>commons-collections</artifactId>        <version>3.1</version>    </dependency>       <dependency>        <groupId>javax.transaction</groupId>        <artifactId>jta</artifactId>        <version>1.1</version>    </dependency>          <dependency>        <groupId>commons-lang</groupId>        <artifactId>commons-lang</artifactId>           <version>2.6</version> </dependency>  <dependency>   <groupId>commons-beanutils</groupId>  <artifactId>commons-beanutils</artifactId>  <version>1.9.0</version> </dependency>     <!-- pinyin4j --> <dependency>  <groupId>com.belerweb</groupId>  <artifactId>pinyin4j</artifactId>  <version>2.5.0</version>   </dependency>      <!-- 其他必选依赖包 -->    <dependency> <groupId>cglib</groupId>  <artifactId>cglib</artifactId>  <version>3.1</version> </dependency>  <dependency>  <groupId>asm</groupId>  <artifactId>asm</artifactId>  <version>3.3.1</version> </dependency>   <dependency>  <groupId>aopalliance</groupId>  <artifactId>aopalliance</artifactId>  <version>1.0</version> </dependency>    <!--ehcache缓存  -->    <dependency>  <groupId>net.sf.ehcache</groupId>  <artifactId>ehcache</artifactId>  <version>2.8.3</version>    </dependency>            <!--其他组件  -->    <dependency>  <groupId>org.springframework.osgi</groupId>  <artifactId>spring-osgi-annotation</artifactId>  <version>1.2.1</version>      </dependency>         <dependency>     <groupId>wsdl4j</groupId>     <artifactId>wsdl4j</artifactId>     <version>1.6.3</version> </dependency> <!---->  <dependency>    <groupId>org.apache</groupId>    <artifactId>cxf</artifactId>    <version>2.3.0</version> </dependency>     <dependency>  <groupId>org.sitemesh</groupId>  <artifactId>sitemesh</artifactId>  <version>3.0.0</version> </dependency>   <dependency>     <groupId>org.quartz-scheduler</groupId>  <artifactId>quartz</artifactId>  <version>2.1.7</version>  <exclusions>                      <exclusion>             <groupId>c3p0</groupId>             <artifactId>c3p0</artifactId>         </exclusion>     </exclusions> </dependency>      <dependency>  <groupId>net.sf.dozer</groupId>  <artifactId>dozer</artifactId>  <version>5.2.0</version> </dependency>    <dependency>  <groupId>javax.validation</groupId>  <artifactId>validation-api</artifactId>  <version>1.1.0.Final</version> </dependency>    <dependency>    <groupId>org.hibernate</groupId>  <artifactId>hibernate-validator</artifactId>  <version>4.3.0.Final</version> </dependency>  <dependency>  <groupId>com.fasterxml.jackson.core</groupId>  <artifactId>jackson-databind</artifactId>  <version>2.5.1</version> </dependency>  <dependency>  <groupId>com.fasterxml</groupId>  <artifactId>classmate</artifactId>  <version>1.1.0</version> </dependency>   <dependency>   <groupId>com.thoughtworks.xstream</groupId>  <artifactId>xstream</artifactId>  <version>1.4.7</version> </dependency>   <dependency>  <groupId>com.sun.mail</groupId>  <artifactId>javax.mail</artifactId>  <version>1.5.2</version> </dependency>        <dependency>  <groupId>org.apache.struts</groupId>  <artifactId>struts2-core</artifactId>  <version>2.3.12</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.12</version> </dependency>  <dependency>  <groupId>org.dbunit</groupId>  <artifactId>dbunit</artifactId>  <version>2.4.7</version> </dependency>  <dependency>   <groupId>org.easymock</groupId>  <artifactId>easymock</artifactId>  <version>3.2</version> </dependency>  <dependency>  <groupId>org.apache.ws.commons.schema</groupId>  <artifactId>XmlSchema</artifactId>  <version>1.4.7</version> </dependency>  <!-- httpclient -->  <dependency>  <groupId>org.apache.httpcomponents</groupId>  <artifactId>httpclient</artifactId>  <version>4.2.1</version> </dependency>  <!-- log4j 日志-->    <dependency>       <groupId>log4j</groupId>       <artifactId>log4j</artifactId>       <version>1.2.17</version> </dependency>     <!-- slf4j-api 日志接口 -->    <dependency>  <groupId>org.slf4j</groupId>  <artifactId>slf4j-api</artifactId>  <version>1.7.7</version>       </dependency>            <!-- slf4j-log4j12 日志接口桥接 -->    <dependency>  <groupId>org.slf4j</groupId>  <artifactId>slf4j-log4j12</artifactId>  <version>1.7.7</version>    </dependency>   <!-- slf4j-nop 日志 -->    <dependency>  <groupId>org.slf4j</groupId>  <artifactId>slf4j-nop</artifactId>  <version>1.7.7</version>    </dependency>        <!-- log4j2 日志-->    <dependency>  <groupId>org.apache.logging.log4j</groupId>  <artifactId>log4j-api</artifactId>  <version>2.1</version> </dependency> <dependency>  <groupId>org.apache.logging.log4j</groupId>  <artifactId>log4j-core</artifactId>  <version>2.1</version> </dependency>             <!-- 文件上传 -->    <dependency>        <groupId>commons-fileupload</groupId>   <artifactId>commons-fileupload</artifactId>   <version>1.3.1</version>    </dependency>         <!-- fastJson json数组有关的 -->    <dependency>  <groupId>com.alibaba</groupId>  <artifactId>fastjson</artifactId>  <version>1.2.1</version> </dependency>   <!-- 使用 Jackson 把 Java对象转换成 JSON字符串 -->    <dependency>       <groupId>org.codehaus.jackson</groupId>       <artifactId>jackson-mapper-asl</artifactId>       <version>1.9.13</version>    </dependency>        <!-- poi -->       <dependency>  <groupId>org.apache.poi</groupId>  <artifactId>poi</artifactId>  <version>3.13</version> </dependency>  <dependency>  <groupId>org.apache.poi</groupId>  <artifactId>poi-ooxml</artifactId>  <version>3.13</version> </dependency>    <!--    <dependency>     <groupId>org.apache.poi</groupId>  <artifactId>openxml4j</artifactId>  <version>1.0-beta</version> </dependency>     -->   <!-- jxls --> <dependency>  <groupId>net.sf.jxls</groupId>  <artifactId>jxls-core</artifactId>  <version>1.0.6</version> </dependency> <dependency>  <groupId>net.sf.jxls</groupId>  <artifactId>jxls-reader</artifactId>  <version>1.0.6</version> </dependency>  <!-- xmlpull xml to java -->  <dependency>  <groupId>xmlpull</groupId>  <artifactId>xmlpull</artifactId>  <version>1.1.3.4a</version> </dependency> <!-- 使用JSONObject,将接收到的结果转成JSON格式 --> <dependency>  <groupId>net.sf.json-lib</groupId>  <artifactId>json-lib</artifactId>  <version>2.4</version>  <classifier>jdk15</classifier><!--指定jdk版本-->  </dependency> <!-- net.sf.json-lib包依赖以下包:--> <dependency>  <groupId>commons-logging</groupId>  <artifactId>commons-logging</artifactId>  <version>1.2</version> </dependency> <dependency>  <groupId>net.sf.ezmorph</groupId>  <artifactId>ezmorph</artifactId>  <version>1.0.6</version> </dependency>  <dependency>     <groupId>net.coobird</groupId>     <artifactId>thumbnailator</artifactId>     <version>0.4.7</version> </dependency> <!-- 云通讯短信发送API--> <dependency>   <groupId>com.yuntongxun</groupId>   <artifactId>ccp</artifactId>   <version>2.6.3</version> </dependency>        </dependencies>      <build>    <finalName>BCP</finalName>  </build>  </project>


2.web.xml

<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0"  xmlns="http://java.sun.com/xml/ns/javaee"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">        <display-name>SSH-Application</display-name>      <!--初始化参数--> <context-param>  <param-name>contextConfigLocation</param-name>  <param-value>/WEB-INF/classes/applicationContext*.xml</param-value> </context-param>   <context-param>     <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>     <param-value>message/message-info</param-value>   </context-param>  <!--Spring ContextLoaderListener -->    <listener>  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>       <!-- ETag过滤器,节省带宽 --> <filter>  <filter-name>etagFilter</filter-name>  <filter-class>org.springframework.web.filter.ShallowEtagHeaderFilter</filter-class> </filter> <filter-mapping>  <filter-name>etagFilter</filter-name>  <url-pattern>/*</url-pattern> </filter-mapping>     <!--UTF-8编码 --> <filter>  <filter-name>CharacterEncodingFilter</filter-name>  <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  <init-param>   <param-name>encoding</param-name>   <param-value>UTF-8</param-value>  </init-param>  <init-param>   <param-name>forceEncoding</param-name>   <param-value>true</param-value>  </init-param> </filter>  <filter-mapping>  <filter-name>CharacterEncodingFilter</filter-name>  <url-pattern>/*</url-pattern> </filter-mapping>     <!-- OpenSessionInViewFilter -->  <filter>  <filter-name>OpenSessionInViewFilter</filter-name>  <filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>  <init-param>   <param-name>singleSession</param-name>   <param-value>true</param-value>  </init-param> </filter> <filter-mapping>  <filter-name>OpenSessionInViewFilter</filter-name>  <url-pattern>/*</url-pattern> </filter-mapping>         <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>       <!-- 页面装配-sitemesh -->    <filter>  <filter-name>sitemesh</filter-name>  <filter-class>org.sitemesh.config.ConfigurableSiteMeshFilter</filter-class> </filter> <filter-mapping>  <filter-name>sitemesh</filter-name>  <url-pattern>/*</url-pattern> </filter-mapping>       <!-- 清理内存 --> <listener>  <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class> </listener>     <!-- WebService-CXF -->     <servlet>  <servlet-name>CXFServlet</servlet-name>  <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class> </servlet> <servlet-mapping>  <servlet-name>CXFServlet</servlet-name>  <url-pattern>/services/*</url-pattern> </servlet-mapping>     <!-- spring-MVC -->  <servlet>  <servlet-name>springMVC</servlet-name>  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  <init-param>   <param-name>contextConfigLocation</param-name>   <param-value>classpath:config/webmvc-config.xml</param-value>  </init-param>  <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping>  <servlet-name>springMVC</servlet-name>  <url-pattern>/</url-pattern> </servlet-mapping>  <!-- session过期时长 --> <session-config>  <session-timeout>60</session-timeout> </session-config>    <!--默认首页 --> <welcome-file-list>  <welcome-file>/main.jsp</welcome-file> </welcome-file-list>  <!-- 异常页面 --> <error-page>  <exception-type>java.lang.Throwable</exception-type>  <location>/common/500.jsp</location> </error-page> <error-page>  <error-code>500</error-code>  <location>/common/500.jsp</location> </error-page>  <error-page>  <error-code>404</error-code>  <location>/common/404.jsp</location> </error-page>    <error-page>  <error-code>403</error-code>  <location>/common/403.jsp</location> </error-page>     <!--       <servlet>  <servlet-name>coreServlet</servlet-name>  <servlet-class>  org.nercita.bcp.wechat.servlet.CoreServlet  </servlet-class> </servlet>      <servlet-mapping>          <servlet-name>coreServlet</servlet-name>          <url-pattern>/wx.do</url-pattern>      </servlet-mapping>     --></web-app>


3.application-security.xml

<?xml version="1.0" encoding="UTF-8"?><beans:beans xmlns="http://www.springframework.org/schema/security"             xmlns:beans="http://www.springframework.org/schema/beans"             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"             xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd                                 http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.2.xsd">         <!--  配置不要过滤的图片等静态资源 -->    <http pattern="/services*" security="none" />    <http pattern="/wx.do*" security="none" />    <http pattern="/api/**" security="none" />    <http pattern="/services/**" security="none" />    <http pattern="/common/**" security="none" />    <http pattern="/images/**" security="none" />    <http pattern="/styles/**" security="none" />    <http pattern="/js/**" security="none" />    <http pattern="/css/**" security="none" />    <http pattern="/htm/**" security="none" />    <http pattern="/main.jsp*" security="none" />    <http pattern="/login.jsp*" security="none" />    <http pattern="/install.jsp*" security="none" />    <http pattern="/system/springSecurity/init*" security="none" />    <http pattern="/system/user/registPage*" security="none" />    <http pattern="/system/user/regist*" security="none" />    <http pattern="/mr*" security="none" />    <http pattern="/system/user/mobile/regist*" security="none" />    <http pattern="/system/user/activate*" security="none" />    <http pattern="/system/user/checkImg*" security="none" />    <http pattern="/system/user/checkName*" security="none" />                  <http pattern="/system/user/checkValidateCode*" security="none" />                  <http pattern="/system/user/forgotPassword*" security="none" />     <http pattern="/system/user/resetRequest*" security="none" />     <http pattern="/system/user/resetPasswordPage*" security="none" />     <http pattern="/system/user/resetPassword*" security="none" />     <http pattern="/system/message/save*" security="none" />    <http pattern="/system/message/introduction" security="none" />           <http auto-config="true" create-session="always" access-denied-page="/common/403.jsp"          use-expressions="true"  disable-url-rewriting="true">        <!-- 配置登录页面  -->         <form-login login-page="/login.jsp" login-processing-url="/j_spring_security_check"                     authentication-failure-url="/login.jsp?error=true"                     default-target-url="/index"                     always-use-default-target="true"                    authentication-success-handler-ref="authenticationSuccess"                     authentication-failure-handler-ref="exceptionMappingAuthenticationFailureHandler"/>        <!-- "记住我"功能,采用持久化策略(将用户的登录信息存放cookie -->                     <remember-me key="bcp" use-secure-cookie="true" />                <!-- 用户退出的跳转页面 -->          <!-- <logout invalidate-session="true" logout-url="/j_spring_security_logout" logout-success-url="/login.jsp"/> -->        <logout invalidate-session="true" logout-url="/j_spring_security_logout" success-handler-ref="logoutSuccessHandler" />                <!-- 会话管理,设置最多登录异常,error-if-maximum-exceeded = false为第二次登录就会使前一个登录失效 -->        <session-management invalid-session-url="/login.jsp?expired=true">            <concurrency-control max-sessions="1" error-if-maximum-exceeded="false" expired-url="/login.jsp?expired=true"/>        </session-management>                <!-- 添加自定义的过滤器 放在FILTER_SECURITY_INTERCEPTOR之前有效 -->                   <custom-filter ref="customFilterSecurityInterceptor" before="FILTER_SECURITY_INTERCEPTOR" />                 <custom-filter ref="switchUserProcessingFilter" after="FILTER_SECURITY_INTERCEPTOR"/>                 <anonymous enabled="false" />     </http>        <!-- 登陆成功跳转 -->    <beans:bean id="authenticationSuccess" class="org.nercita.bcp.system.service.CustomSavedRequestAwareAuthenticationSuccessHandler">         <beans:property name="defaultTargetUrl" value="/index"/>    </beans:bean>        <!-- 注销成功 -->    <beans:bean id="logoutSuccessHandler" class="org.nercita.bcp.system.service.CustomLogoutSuccessHandler">         <beans:property<

猜你喜欢

转载自blog.csdn.net/qq_44894516/article/details/89174416