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 :

Spring security injection autowired error [Security]


Sujet :

Spring Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Points : 117
    Points
    117
    Par défaut Spring security injection autowired error
    Bonjour,

    J'ai un petit souci avec l'injection :s !!

    Actuellement, j'utilise spring security.

    voici ma conf xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
      <bean id="ipAuthenticationProvider"
      			class="fr.xxx.ip.middle.authentication.ipAuthenticationProvider">
      		<security:custom-authentication-provider/>
     	</bean>
    Code Java ipAuthenticationProvider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    @Service("authenticationProvider")
    public class ipAuthenticationProvider implements AuthenticationProvider {
     
    	static final private Log logger = LogFactory
    			.getLog(ipAuthenticationProvider.class);
     
    	@Autowired @Qualifier("apiSecuService")
    	private ApiSecuService apiSecuService1;
     
     
     
    ....
    Code Java ApiSecuServiceImpl
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    @Service("apiSecuService")
    public class ApiSecuServiceImpl implements ApiSecuService {
     
    	@Override
    	public String checkDN(String subjectDn) {
    		return null;
    	}
    .....
    Quand j'essaie de m'authentifier, je lance la soumission du formulaire, j'obtiens cette stacktrace :

    2010-06-24 14:38:20.864:WARN::Nested in org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ipAuthenticationProvider': Autowiring of fields failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private fr.xxx.ip.service.ApiSecuService fr.xxx.ip.middle.authentication.ipAuthenticationProvider.apiSecuService1; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [fr.xxx.ip.service.ApiSecuService] is defined: Unsatisfied dependency of type [interface fr.xxx.ip.service.ApiSecuService]: expected at least 1 matching bean:
    org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [fr.xxx.ip.service.ApiSecuService] is defined: Unsatisfied dependency of type [interface fr.xxx.ip.service.ApiSecuService]: expected at least 1 matching bean
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:613)
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:412)
    at org.springframework.beans.factory.annotation.InjectionMetadata.injectFields(InjectionMetadata.java:105)


    J'ai testé mon authentification sans injection, en instanciant directement l'objet dans le constructeur, ça marche. Mais je souhaite passer par injection, mais là, ça plante, et je sais pas pourquoi :s !!!

    Si vous avez la moindre idée, je suis preneur

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Points : 117
    Points
    117
    Par défaut
    ok j'ai trouvé !

    ça vient du fait, que le component-scan pointe sur un package différent de ma classe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <context:component-scan base-package="fr.xxx.ip.middle">
    		<context:exclude-filter type="regex" expression="fr\.xxx\.ip\.middle\.web.*"/>
    	</context:component-scan>
    Donc j'ai rajouté dans la config de spring :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     <bean id="ipAuthenticationProvider"
      			class="fr.xxx.ip.middle.authentication.ipAuthenticationProvider">
      		<security:custom-authentication-provider/>
      		<property name="apiSecuService" ref="apiSecuService"/>
      		<property name="utilisateurService" ref="utilisateurService"/>
     	</bean>
     
     <bean id="apiSecuService" class="fr.xxx.ip.service.ApiSecuServiceImpl"/>
     <bean id="utilisateurService" class="fr.xxx.ip.middle.service.UtilisateurServiceImpl" />
    et là ça fonctionne

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

Discussions similaires

  1. [Security] Spring security injection autowired error
    Par chesko dans le forum Spring
    Réponses: 2
    Dernier message: 12/07/2010, 10h09
  2. Flex, BlazeDS, Spring Security, HTTP Error #2032
    Par Mr Vincent dans le forum Flex
    Réponses: 2
    Dernier message: 23/06/2009, 14h24
  3. [Security] Spring security VS JAAS
    Par Sniper37 dans le forum Spring
    Réponses: 2
    Dernier message: 21/08/2008, 16h54
  4. [Spring Security] Authentification par groupe LDAP
    Par titeuf92 dans le forum Spring Web
    Réponses: 2
    Dernier message: 25/06/2008, 10h28

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