私のプロジェクトでは、Spring SecurityとJettyを使用します。 今、私はJetty 7を使用しています。私はJetty 9に移行したいと思います。エラーが発生しました(springSecurityFilterChainが2回表示されます)Springセキュリティ移行Jetty 7〜9
突堤7では、私のプロジェクトは完全に実行するが、私は9に移行した場合、それが起動するとき、私はエラーメッセージが表示されます。java.lang.IllegalStateException:
によって引き起こされる「springSecurityFilterChain」のフィルタの登録を複製します。フィルターが一度だけ構成されていることを確認してください。
のMaven:
/config/JpaConfiguration.java /config/LoggingConfiguration.java /config/MessageSecurityWebApplicationInitializer.java /config/SecurityAuthenticationFailureHandler.java /config/SecurityAuthenticationSuccessHandler.java /config/SecurityConfig.java /config/SecurityWebApplicationInitializer.java /config/WebConfiguration.java
とweb.xml:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <display-name>Archetype Created Web Application</display-name> <context-param> <param-name>contextClass</param-name> <param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value> </context-param> <context-param> <param-name>contextConfigLocation</param-name> <param-value> com.jle.athleges.config.LoggingConfiguration com.jle.athleges.config.JpaConfiguration com.jle.athleges.config.WebConfiguration com.jle.athleges.config.SecurityConfig </param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextClass</param-name> <param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/</url-pattern> <url-pattern>*.html</url-pattern> </servlet-mapping> <!-- START: Spring Security --> <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> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>classpath:log4j.xml</param-value> </context-param> <session-config> <session-timeout>30</session-timeout> </session-config> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> </web-app>
<properties> <!-- NOT LATEST VERSION --> <spring-data-jpa.version>1.9.4.RELEASE</spring-data-jpa.version> <hibernate.version>5.1.0.Final</hibernate.version> <!-- LATEST VERSION --> <springframework.version>4.3.2.RELEASE</springframework.version> <spring-security.version>4.1.1.RELEASE</spring-security.version> <aspectj.version>1.8.9</aspectj.version> <hibernate-validator.version>5.2.4.Final</hibernate-validator.version> <cglib.version>3.2.4</cglib.version> <!-- No compatibility needed --> <mysql.version>6.0.3</mysql.version> <log4j.version>1.2.17</log4j.version> <slf4j.version>1.7.21</slf4j.version> <junit.version>4.12</junit.version> <h2.version>1.4.192</h2.version> <log4j.version>1.2.17</log4j.version> <javax-servlet.version>3.1.0</javax-servlet.version> <jsp-api.version>2.3.1</jsp-api.version> <jstl.version>1.2</jstl.version> <taglibs.version>1.1.2</taglibs.version> </properties>
私はこのクラスを持って、私はアノテーションを使用し、これが設定され
アイデアはありますか?
ありがとうございました。それは働いている。私はAbstractAnnotationConfigDispatcherServletInitializerに移動し、メソッドを実装し、web.xmlで設定を削除しました。 素晴らしい! –