Estoy usando Spring Security 3.0.2 y no puedo encontrar una manera de cargar roles de usuarios anónimos desde la base de datos (tengo roles dinámicos donde se pueden asignar roles a todos).Cómo cargar roles de la base de datos para usuarios anónimos en spring security 3?
He intentado utilizar un anonymousAuthenticationProvider personalizado, pero nunca se llama a este proveedor. Aquí está mi config:
<http auto-config="false">
<logout invalidate-session="true" logout-success-url="/page/welcome" />
<remember-me />
<anonymous username="_GUEST_" granted-authority="ROLE_GUEST" key="anonymousKey" />
<form-login login-page="/page/login" authentication-failure-url="/page/login?fail=1" default-target-url="/page/welcome" />
</http>
<authentication-manager alias="authenticationManager">
<authentication-provider ref="anonymousAuthenticationProvider"></authentication-provider>
<authentication-provider user-service-ref="accountDetails">
<password-encoder ref="passwordEncoder">
<salt-source user-property="xxxx" />
</password-encoder>
</authentication-provider>
</authentication-manager>
<beans:bean id="accountDetails" class="com.mysite.AccountDetailsImpl" />
<beans:bean id="passwordEncoder" class="org.springframework.security.authentication.encoding.ShaPasswordEncoder">
<beans:constructor-arg value="512" />
</beans:bean>
<beans:bean id="anonymousAuthenticationProvider" class="com.my.site.security.CustomAnonymousAuthenticationProvider">
<beans:property name="key" value="anonymousKey" />
</beans:bean>
Mi anonymousAuthenticationProvider nunca es llamado así que no puedo cargar las autoridades aduaneras de la base de datos. Cuando inicio sesión, se llama a mi servicio accountDetails y puedo cargar roles de la base de datos para el usuario, quiero lo mismo para el usuario anónimo.
¿Cómo puedo hacerlo? gracias
Chicos, estoy en el mismo problema. La questio es, ¿puedo enviar un parámetro recibido de una cadena de consulta para usar en mi autenticación personalizada? Si es así, ¿cómo? ¿Puedes poner el tuyo xml completo? ¡Muchas gracias! Rodrigo –