J'implémente Spring SAML dans mon application web qui a déjà implémenté la sécurité de printemps, grâce à laquelle j'ai maintenant 2 gestionnaires d'authentification. Comme le ressort se réfère toujours au dernier authenticationManager déclaré, j'ai trouvé la solution pour définir un authenticationManager comme un bean.Comment écrire authenticationManager en tant que bean (Conversion de SamlAuthenticationManager en bean)
suivante a été mon AuthenticationManager avant la conversion en haricot:
<authentication-manager alias="samlAuthenticationManager">
<!-- Register authentication manager for SAML provider -->
<authentication-provider ref="samlAuthenticationProvider"/>
<!-- Register authentication manager for administration UI -->
<authentication-provider>
<user-service id="adminInterfaceService">
<user name="admin" password="admin" authorities="ROLE_ADMIN"/>
</user-service>
</authentication-provider>
</authentication-manager>
Après mon code après la conversion de haricot:
<beans:bean id="samlAuthenticationManager" class="org.springframework.security.authentication.ProviderManager">
<beans:constructor-arg>
<beans:list>
<beans:bean class="org.springframework.security.saml.SAMLAuthenticationProvider">
<beans:property name="userDetails" value="adminInterfaceService"/>
</beans:bean>
</beans:list>
</beans:constructor-arg>
</beans:bean>
<user-service id="adminInterfaceService">
<user name="admin" password="admin" authorities="ROLE_ADMIN"/>
</user-service>
Le fournisseur d'authentification est définit comme suit:
<beans:bean id="samlAuthenticationProvider" class="org.springframework.security.saml.SAMLAuthenticationProvider">
<!-- OPTIONAL property: can be used to store/load user data after login -->
<!--
<beans:property name="userDetails" ref="bean" />
-->
</beans:bean>
Je reçois l'exception suivante:
Impossible de convertir la valeur de type 'java.lang.String' au type requis 'org.springframework.security.saml.userdetails.SAMLUserDetailsService' propriété 'userDetails'
S'il vous plaît aider en ce qui concerne la même. Je serai très obligé.
Merci à l'avance