Printemps de sécurité 3 http-l'authentification de base-succès-gestionnaire
H je suis en utilisant le printemps de sécurité
pour form-login j'ai
<http auto-config="true">
<intercept-url pattern="/pages/**" access="ROLE_USER" />
<form-login authentication-success-handler-ref="authenticationSuccessHandler" login-page="/login.html" default-target-url="/pages/index.html"
always-use-default-target="true" authentication-failure-url="/login.html" />
<logout logout-success-url="/login.html" invalidate-session="true" />
<anonymous enabled='false'/>
</http>
ici, je peux mettre un authentication-success-handler-ref
, comment puis-je ajouter à ma authentification de base:
<http pattern="/REST/**" realm="REALM" entry-point-ref="authenticationEntryPoint">
<intercept-url pattern="/**" access="ROLE_USER" />
<http-basic />
<logout logout-url="/REST/logout" success-handler-ref="restLogoutSuccessHandler" />
</http>
j'ai pensé abour primordial BasicAuthenticationFilter, mais comment peut-on injecter mon cutom classe pour <http-basic />
OriginalL'auteur wutzebaer | 2013-05-24
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas définir une authentification gestionnaire de succès pour l'authentification de BASE. Vous pouvez, cependant, d'étendre BasicAuthenticationFilter et remplacer onSuccessfulAuthentication méthode:
L'injecter dans votre configuration de sécurité avec quelque chose comme:
Mise à jour: Ou avec Java config au lieu de XML:
Oui, voir la mise à jour.
Lorsque vous faites cela, vous souhaiterez peut-être désactiver httpBasic avec
httpBasic().disable()
, ou vous endup avec deux authentification de base des filtres.OriginalL'auteur holmis83
Comme une solution de contournement, vous pouvez utiliser http de base en conjonction avec form-login:
BasicAuthenticationFilter fonctionne.
MODIFIER.
Si vous souhaitez configurer votre remplacé la version de BasicAuthenticationFilter je pense que vous avez besoin de:
exactement, mais basic auth doit être utilisé après l'soumettre le formulaire
mais j'ai besoin de l'authentification basique-challenge sur mon /url REST
Dans ce cas, essayez de remplacer BasicAuthenticationFilter. Voir ma réponse mis à jour.
OriginalL'auteur Maksym Demidas
Au lieu d'utiliser un
AuthenticationSuccessHandler
vous pouvez compter sur la Sécurité Printemps de mécanisme d'événements et écouterAuthenticationSuccessEvent
à l'aide de la ApplicationListener interface:Voir aussi la réponse ici: https://stackoverflow.com/a/11384001/474034
OriginalL'auteur lanoxx