IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Java Discussion :

Problème de satisfaction de dépendance [Security]


Sujet :

Spring Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de petitpasdelune
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 221
    Par défaut Problème de satisfaction de dépendance
    Bonjour.
    Dans ma webapp (Struts2 + Spring + Acegi + Hibernate)
    J'ai l'erreur suivante lors de l'initialisation du contexte de Spring :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    GRAVE: Exception lors de l'envoi de l'évènement contexte initialisé (context initialized) à l'instance de classe d'écoute (listener) org.springframework.web.context.ContextLoaderListener
    org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'logoutFilter' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Unsatisfied dependency expressed through constructor argument with index 1 of type [org.acegisecurity.ui.logout.LogoutHandler[]]: There are 0 beans of type [[Lorg.acegisecurity.ui.logout.LogoutHandler;] available for autowiring: []. There should have been exactly 1 to be able to autowire constructor of bean 'logoutFilter'.
    	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:384)
    	at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:120)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:745)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:683)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:388)
    	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:250)
    	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:141)
    En fait je n'ai fait que reprendre la configuration de l'exemple de base pour Spring :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    	<!-- ACEGI START -->
    	<bean id="filterChainProxy" class="org.acegisecurity.util.FilterChainProxy">
    		<property name="filterInvocationDefinitionSource">
    			<value>
    				CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
    				PATTERN_TYPE_APACHE_ANT
    				/**=httpSessionContextIntegrationFilter,logoutFilter,authenticationProcessingFilter,securityContextHolderAwareRequestFilter,rememberMeProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor
    			</value>
    		</property>
    	</bean>
    	<bean id="logoutFilter" class="org.acegisecurity.ui.logout.LogoutFilter">
    		<constructor-arg value="/index.jsp"/> 
    		<constructor-arg>
    			<list>
    				<ref bean="rememberMeServices"/>
    				<bean class="org.acegisecurity.ui.logout.SecurityContextLogoutHandler"/>
    			</list>
    		</constructor-arg>
    	</bean>
     
    	...
    	<bean id="rememberMeServices" class="org.acegisecurity.ui.rememberme.TokenBasedRememberMeServices">
    		<property name="userDetailsService" ref="userDetailsService"/>
    		<property name="key" value="TotoEstUnCon"/>
    	</bean>
    	...
    	<!-- ACEGI STOP -->
    Or la classe org.acegisecurity.ui.rememberme.TokenBasedRememberMeServices
    implemente bien l'interface org.acegisecurity.ui.logout.LogoutHandler.
    Que faut-il préciser à Spring que ce bean implémente bien cette interface ?
    [EDIT]
    Je suis en mode "autowire"
    [/EDIT]


    PPDL.

  2. #2
    Membre expérimenté Avatar de petitpasdelune
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 221
    Par défaut
    En attendant de trouver la solution j'ai fait des coupes franches dans les filtres pour avoir quelque chose qui fonctionne un peu.

    PPDL.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème d'injection de dépendance ?
    Par oxman dans le forum Langage
    Réponses: 3
    Dernier message: 02/09/2010, 09h50
  2. [Framework] BeanCreationException ? problème d'injection de dépendances
    Par Fikou-Sama dans le forum Spring
    Réponses: 2
    Dernier message: 21/06/2010, 11h12
  3. [DF] Problème d'interprétation de dépendance fonctionnelle
    Par jpastier dans le forum Schéma
    Réponses: 2
    Dernier message: 26/03/2009, 16h29
  4. Réponses: 6
    Dernier message: 20/06/2007, 09h24
  5. Problème pour générer les dépendances
    Par b Oo dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 18/06/2007, 15h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo