2015-01-10 3 views
0

это мой диспетчеру-servlet.xmlОшибка создания боб с именем «org.springframework.security.filterChains

<?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:p="http://www.springframework.org/schema/p" 
    xmlns:aop="http://www.springframework.org/schema/aop" 
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xmlns:tx="http://www.springframework.org/schema/tx" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd 
         http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd 
         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd 
         http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd 
         http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd"> 

<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/> 



<context:component-scan base-package="com.controller"/> 
<mvc:annotation-driven/> 

<bean id="student_dao" class="com.dao.User_dao_imp"/> 
<bean id="student_service" class="com.service.User_service_imp"/> 
<bean id="product_dao" class="com.dao.Product_dao_impl"/> 
<bean id="product_service" class="com.service.Product_service_impl"/> 

<bean id="userdetail" class="com.controller.UserDetail" /> 


<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource"> 
<property name="basename" value="/WEB-INF/config/messages"/> 
<property name="defaultEncoding" value="UTF-8"/>   
</bean> 



<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
    <property name="mappings"> 
     <props> 
      <prop key="index.htm">indexController</prop> 
     </props> 
    </property> 
</bean> 

<bean id="viewResolver" 
     class="org.springframework.web.servlet.view.InternalResourceViewResolver" 
     p:prefix="/WEB-INF/jsp/" 
     p:suffix=".jsp" /> 

<!-- 
The index controller. 
--> 
<bean name="indexController" 
     class="org.springframework.web.servlet.mvc.ParameterizableViewController" 
     p:viewName="index" /> 



</beans> 

это мой 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-3.2.xsd 
     http://www.springframework.org/schema/security 
     http://www.springframework.org/schema/security/spring-security-3.2.xsd"> 

<http use-expressions="true"> 
<intercept-url pattern="/add_role.htm" access="hasRole('ROLE_ADMIN')" /> 
<form-login login-page="/login.htm"/> 
<logout logout-url="/logout"/> 
</http> 


<authentication-manager> 
<authentication-provider user-service-ref="userdetail"> 
    <password-encoder hash="bcrypt" /> 
</authentication-provider> 
</authentication-manager> 

</beans:beans> 

После отладки я получаю сообщение об ошибке

SEVERE: исключение при загрузке приложения: java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: org.springframework.beans.factory.BeanCreationExceptio n: Ошибка создания компонента с именем «org.springframework.security.filterChains»: не удается разрешить ссылку на bean 'org.springframework.security.web.DefaultSecurityFilterChain # 0' при настройке bean-свойства 'sourceList' с ключом [0]; Вложенное исключение - org.springframework.beans.factory.BeanCreationException: ошибка при создании компонента с именем «org.springframework.security.web.DefaultSecurityFilterChain # 0»: невозможно разрешить ссылку на bean 'org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter # 0 'при установке аргумента конструктора с ключом [3]; Вложенное исключение - org.springframework.beans.factory.BeanCreationException: Ошибка создания bean-компонента с именем «org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter # 0»: не удается разрешить ссылку на bean-файл org.springframework.security.authentication.ProviderManager # 0 'при настройке bean-свойства' authenticationManager '; Вложенное исключение - org.springframework.beans.factory.BeanCreationException: ошибка создания bean-компонента с именем «org.springframework.security.authentication.ProviderManager # 0»: не удается разрешить ссылку на bean-файл org.springframework.security.config.authentication.AuthenticationManagerFactoryBean # 0 'при настройке аргумента конструктора; Вложенное исключение - org.springframework.beans.factory.BeanCreationException: ошибка при создании компонента с именем «org.springframework.security.config.authentication.AuthenticationManagerFactoryBean # 0»: FactoryBean выбрал исключение для создания объекта; Вложенное исключение - org.springframework.beans.factory.BeanCreationException: ошибка при создании компонента с именем «org.springframework.security.authenticationManager»: не удается разрешить ссылку на bean 'org.springframework.security.authentication.dao.DaoAuthenticationProvider # 0' при настройке аргумент конструктора с ключом [0]; Вложенное исключение - org.springframework.beans.factory.BeanCreationException: ошибка при создании bean-компонента с именем «org.springframework.security.authentication.dao.DaoAuthenticationProvider # 0»: не удается разрешить ссылку на bean 'userdetail' при настройке bean-свойства 'userDetailsService'; вложенное исключение org.springframework.beans.factory.NoSuchBeanDefinitionException: Нет боба под названием «userdetail» не определен

ответ

0

Определите userdetail боб в 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-3.2.xsd 
     http://www.springframework.org/schema/security 
     http://www.springframework.org/schema/security/spring-security-3.2.xsd"> 

<http use-expressions="true"> 
<intercept-url pattern="/add_role.htm" access="hasRole('ROLE_ADMIN')" /> 
<form-login login-page="/login.htm"/> 
<logout logout-url="/logout"/> 
</http> 


<authentication-manager> 
<authentication-provider user-service-ref="userdetail"> 
    <password-encoder hash="bcrypt" /> 
</authentication-provider> 
</authentication-manager> 

<beans:bean id="userdetail" class="com.controller.UserDetail" /> 
</beans:beans> 
+0

определено, проблема в чем-то else – msangel

+0

Я знаю, что вы определили его в 'dispatcher-servlet.xml', но какой-то весенний контейнер не смог его распознать. скопируйте определение 'userdetail' bean из' dispatcher-servlet.xml' в 'security.xml'. –

+0

Посмотрите более подробно на stacktrace: 'NoSuchBeanDefinitionException: не bean с именем 'userdetail' определяется' –

Смежные вопросы