Bonjour à tous,
je suis en train de travailler sur la version 3.1.0 de Spring et je rencontre un petit souci avec la redirection.
Dans un premier temps dans mon spring-security.xml j'ai modifié la configuration pour appeler une classe héritant de SavedRequestAwareAuthenticationSuccessHandler
Cette classe est la suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <bean id="successHandler" class="referentiel.user.UserAuthenticationSuccessHandler"> <property name="defaultTargetUrl" value="/index.html" /> <property name="alwaysUseDefaultTargetUrl" value="true" /> </bean>
Le problème que je rencontre est que lorsque j'effectue un "request.getRequestURI()" je me retrouve toujours avec l'url "nettoyée" c-a-d si l'url d'origine est "login.jsp?login_error=1" je me retrouve avec "login.jsp".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 public class UserAuthenticationSuccessHandler extends SavedRequestAwareAuthenticationSuccessHandler { /** * {@inheritDoc} */ @Override public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws ServletException, IOException { RequestCache requestCache = new HttpSessionRequestCache(); requestCache.saveRequest(request, response); SavedRequest savedRequest = requestCache.getRequest(request, response); if (savedRequest == null || isAlwaysUseDefaultTargetUrl()) { super.onAuthenticationSuccess(request, response, authentication); return; } clearAuthenticationAttributes(request); // Use the DefaultSavedRequest URL String targetUrl = savedRequest.getRedirectUrl(); String gwtParameters = request.getParameter(getTargetUrlParameter()); if (StringUtils.hasText(gwtParameters)) { targetUrl = targetUrl + "#" + gwtParameters; } getRedirectStrategy().sendRedirect(request, response, targetUrl); } }
Mon but est bien sur de transmettre ces paramètres aux autres pages.
Auriez-vous une idée de ce qu'il manquerait pour rediriger correctement?
En vous remerciant par avance pour votre retour!
Partager