2010-06-28 3 views
0

Dans grails acegi plugin, vous pouvez spécifier la propriété authenticationFailureUrl dans SecurityConfig.Récupération de l'URL en cas d'échec d'authentification

Existe-t-il un moyen d'obtenir l'URL qui a provoqué l'échec d'authentification dans la portée de authenticationFailureUrl?

Ce n'est pas aussi simple que d'obtenir la requête ou de regarder les paramètres. S'il y a un échec d'authentification, vous êtes redirigé vers authenticationFailureUrl, de sorte que l'URL de la requête à ce stade est authenticationFailureUrl, et non l'URL qui a causé l'échec de l'authentification.

Im mon cas, je mis authenticationFailureUrl être une méthode de commande - regardant tout dans le débogueur pas de solution est évident pour moi ....

Thanx à l'avance.

Répondre

2

Le SavedRequest représentant la demande d'origine est stocké en tant qu'attribut de session avec le nom spécifié par la constante DefaultSavedRequest.SPRING_SECURITY_SAVED_REQUEST_KEY (ou AbstractProcessingFilter.SPRING_SECURITY_SAVED_REQUEST_KEY dans les versions antérieures à la version 3.0).

+0

homme Thanx, c'est exactement ça. – hvgotcodes

0

Cela peut aider les autres utilisateurs de Spring Security 3.0.0. Dans SS 3.0.3

AbstractProcessingFilter est déprécié et il n'y a aucune constante SPRING_SECURITY_SAVED_REQUEST_KEY dans DefaultSavedRequest. Ainsi, vous pouvez obtenir en:

SavedRequest savedRequest = (SavedRequest) session.getAttribute(WebAttributes.SAVED_REQUEST);  

Référence: Spring Security: How to get the initial target url

Questions connexes