spring - org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'springSecurityFilterChain' is defined - JAVA Configuration -
i new in starting spring projects , have problem title.
i don't know how can resolve it, have same configuration , files start spring in other project , there works. here not , don't know why.
my code :
maven ` demo demo 1.0-snapshot
<properties> <javax.trans.ver>1.1</javax.trans.ver> <javax.ver>2.5</javax.ver> <spring.base.version>4.1.5.release</spring.base.version> <spring.security.version>4.0.1.release</spring.security.version> <spring.data.ver>1.8.0.release</spring.data.ver> <hib.core.ver>4.3.10.final</hib.core.ver> <hib.jpa.supp.ver>4.3.10.final</hib.jpa.supp.ver> <hib.val.ver>5.1.3.final</hib.val.ver> <mysql.conn.ver>5.1.6</mysql.conn.ver> <junit.ver>4.12</junit.ver> <jstl.verion>1.2</jstl.verion> <cglib.version>3.1</cglib.version> <log4j.version>1.2.17</log4j.version> </properties> <dependencies> <dependency> <groupid>javax.transaction</groupid> <artifactid>jta</artifactid> <version>${javax.trans.ver}</version> </dependency> <dependency> <groupid>javax.servlet</groupid> <artifactid>servlet-api</artifactid> <version>${javax.ver}</version> </dependency> <!--spring stuff--> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-core</artifactid> <version>${spring.base.version}</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-context</artifactid> <version>${spring.base.version}</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-web</artifactid> <version>${spring.base.version}</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-webmvc</artifactid> <version>${spring.base.version}</version> </dependency> <dependency> <groupid>org.springframework.security</groupid> <artifactid>spring-security-web</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</groupid> <artifactid>spring-orm</artifactid> <version>${spring.base.version}</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-tx</artifactid> <version>${spring.base.version}</version> </dependency> <dependency> <groupid>org.springframework.data</groupid> <artifactid>spring-data-jpa</artifactid> <version>${spring.data.ver}</version> <exclusions> <exclusion> <groupid>org.springframework</groupid> <artifactid>spring-aop</artifactid> </exclusion> </exclusions> </dependency> <!--my sql conn--> <dependency> <groupid>mysql</groupid> <artifactid>mysql-connector-java</artifactid> <version>${mysql.conn.ver}</version> </dependency> <!--hibernate--> <dependency> <groupid>org.hibernate</groupid> <artifactid>hibernate-core</artifactid> <version>${hib.core.ver}</version> </dependency> <dependency> <groupid>org.hibernate</groupid> <artifactid>hibernate-entitymanager</artifactid> <version>${hib.jpa.supp.ver}</version> </dependency> <dependency> <groupid>org.hibernate</groupid> <artifactid>hibernate-validator</artifactid> <version>${hib.val.ver}</version> </dependency> <!--junit--> <dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <version>${junit.ver}</version> </dependency> <!--jstl--> <dependency> <groupid>jstl</groupid> <artifactid>jstl</artifactid> <version>${jstl.verion}</version> </dependency> <!--stuff--> <dependency> <groupid>cglib</groupid> <artifactid>cglib</artifactid> <version>${cglib.version}</version> </dependency> <dependency> <groupid>log4j</groupid> <artifactid>log4j</artifactid> <version>${log4j.version}</version> </dependency> <dependency> <groupid>org.slf4j</groupid> <artifactid>slf4j-simple</artifactid> <version>1.7.10</version> </dependency> <dependency> <groupid>org.slf4j</groupid> <artifactid>slf4j-log4j12</artifactid> <version>1.7.10</version> </dependency> </dependencies>
`
spring security initializer:
package ro.stefan.configs; import org.springframework.security.web.context.abstractsecuritywebapplicationinitializer; public class springsecurityinitializer extends abstractsecuritywebapplicationinitializer { }
spring security config:
package ro.stefan.configs; import org.springframework.beans.factory.annotation.autowired; import org.springframework.context.annotation.configuration; import org.springframework.security.config.annotation.authentication.builders.authenticationmanagerbuilder; import org.springframework.security.config.annotation.web.builders.httpsecurity; import org.springframework.security.config.annotation.web.builders.websecurity; import org.springframework.security.config.annotation.web.configuration.enablewebsecurity; import org.springframework.security.config.annotation.web.configuration.websecurityconfigureradapter; import ro.stefan.serv.usersdetailsserviceimpl; @configuration @enablewebsecurity public class springsecurityconfig extends websecurityconfigureradapter { @autowired usersdetailsserviceimpl usersdetailsservice; @autowired public void configureglobal(authenticationmanagerbuilder auth) throws exception { auth.inmemoryauthentication().withuser("stefan").password("1234").roles("user"); auth.userdetailsservice(usersdetailsservice); } @override public void configure(websecurity web) throws exception { web.ignoring().antmatchers("/res/**"); } //.csrf() optional, enabled default, if using websecurityconfigureradapter constructor @override protected void configure(httpsecurity http) throws exception { http.authorizerequests() .antmatchers("/main/**").access("hasrole('role_admin')") .and() .formlogin().loginpage("/admin").failureurl("/admin?error") .usernameparameter("username").passwordparameter("password").defaultsuccessurl("/main") .and() .logout().logouturl("/logout").logoutsuccessurl("/admin?logout") .and() .csrf(); // http.formlogin().loginpage("/admin/login").failureurl("/admin/login?error").defaultsuccessurl("/main",true).usernameparameter("username").passwordparameter("password"); } }
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>demo app</display-name> <servlet> <servlet-name>mvc-dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.dispatcherservlet</servlet-class> <init-param> <param-name>contextconfiglocation</param-name> <param-value>web-inf/servletconfig.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>mvc-dispatcher</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <context-param> <param-name>contextconfiglocation</param-name> <param-value>classpath:/jpacontext.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.contextloaderlistener</listener-class> </listener> </web-app>
servletconfig.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:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xsi:schemalocation=" http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd"> <!-- dispatcherservlet context: defines servlet's request-processing infrastructure --> <!-- scans within base package of application @components configure beans --> <!-- @controller, @service, @configuration, etc. --> <context:component-scan base-package="ro.stefan" /> <!-- enables spring mvc @controller programming model --> <mvc:annotation-driven /> <mvc:resources location="web-res/" mapping="/res/**" /> </beans>
thank !
can put springsecurityfilter chain -
e.g.,
<context-param> <param-name>contextconfiglocation</param-name> <param-value> classpath:/jpacontext.xml, /web-inf/servletconfig.xml </param-value> </context-param> <!-- 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>
Comments
Post a Comment