Comment utiliser le filtre personnalisé avec authentification-succès-gestionnaire-ref équivalent au printemps de sécurité
Je veux passer des paramètres avec des détails de connexion à ressort de sécurité comme certains l'id de l'élément.
puis après je veux rediriger vers la page selon le type d'utilisateur.
Pour cela, je suis en utilisant filtre personnalisé pour envoyer paramètre supplémentaire.
Et pour la redirection, je suis en utilisant authentification-succès-gestionnaire-ref.
Mon problème est que je suis geting position de conflit, car je suis en utilisant avec filtre personnalisé.
Merci de m'aider à faire mon devoir.
Voici ma configuration
<http use-expressions="true">
<intercept-url pattern="/login" access="permitAll" />
<intercept-url pattern="/resources/**" access="permitAll" />
<intercept-url pattern="/logout" access="permitAll" />
<intercept-url pattern="/accessdenied" access="permitAll" />
<custom-filter ref="ddAuthenticationFilter" position="FORM_LOGIN_FILTER" />
<form-login authentication-failure-url="/accessdenied"
authentication-success-handler-ref="ddAuthenticationSuccessHandler"/>
</http>
<beans:bean id="ddAuthenticationFilter" class="com.dd.security.ExUsernamePasswordAuthenticationFilter"/>
<beans:bean id="ddAuthenticationSuccessHandler" class="com.dd.security.DDAuthenticationSuccessHandler" />
Vous devez vous connecter pour publier un commentaire.
J'ai bien compris votre question comme suit: je veux envoyer un itemId dans le formulaire de connexion qui est utilisé après une connexion réussie pour la redirection.
Afin de mettre en place un tel processus, vous devez faire les choses suivantes.
Supprimer
<form-login ...>
de votre configuration. Vous devriez avoir:N'oubliez pas d'ajouter un
<security:logout />
pour la déconnexion et laentry-point-ref
des points d'attribut à unauthenticationEntryPoint
.Ajouter un
LoginUrlAuthenticationEntryPoint
pourentry-point-ref
qui pointe vers votre page de connexion:De refactoriser votre
ddAuthenticationFilter
pour répondre à la configuration suivante:Créer une nouvelle classe
CustomWebAuthenticationDetailsSource
:et les
CustomWebAuthenticationDetails
:Votre
ddAuthenticationSuccessHandler
doit avoir une semblable logique comme dans cet exemple:Un exemple peut être trouvé ici