2016-01-28 2 views
2

je dois développer deux personnalisés fournisseurs d'authentification capables de gérer 2 cas principal d'utilisation:Pentaho plus les fournisseurs d'authentification

  • connexion par nom d'utilisateur et sous forme de mot de passe d'authentification

  • authentification par jeton

J'ai développé mes CustomFormAuthProvider et CustomTokenAuthProvider.

intérieur Pentaho appContext-printemps-security.xml i ont déclaré les deux fournisseurs de haricots avec

providername=custom 

et par conséquent j'ai mis la propriété correspondante (en security.properties) à la "coutume". Quand je lance pentaho je peux voir que l'objet AccessManager charge un seul fournisseur des deux ... Donc il attrape une erreur quand j'utilise l'une des deux méthodes d'authentification.

Existe-t-il un moyen de charger les deux fournisseurs dans la liste des fournisseurs, de la même manière que le gestionnaire d'accès peut charger celui qui prend en charge le type de jeton actuel?

Merci

Répondre

0

cela pourrait être la réponse

https://help.pentaho.com/Documentation/5.4/0P0/150/010/080 

Modification du

applicationcontext-spring-securit.xml 

il est possible d'ajouter d'autres fournisseurs dans la liste des fournisseurs de ProviderManager comme le code ci-dessous

 <bean id="authenticationManager"class="org.springframework.security.providers.ProviderManager"> 
<property name="providers"> 
    <list> 
     <pen:bean class="org.springframework.security.providers.AuthenticationProvider"> 
       <pen:attributes> 
        <pen:attr key="providerName" value="jackrabbit"/> 
       </pen:attributes></pen:bean> 
     <pen:bean class="org.springframework.security.providers.AuthenticationProvider">  
       <pen:attributes>  
        <pen:attr key="providerName" value="webservice"/> 
        </pen:attributes> 
     </pen:bean> 
     <ref local="anonymousAuthenticationProvider" /> 
    </list> 
    </property> 
</bean> 

je vais l'essayer

+0

ça marche! ...... – Alex