Rediriger après la connexion (sécurité de printemps sur GAE)
Je vais avoir quelques difficultés à faire mon login redirect à la même place, toujours. J'ai fait quelque chose comme ceci
<http auto-config="true" use-expressions="true" entry-point-ref="gaeEntryPoint" >
<intercept-url pattern="/_ah/login" access="permitAll"/>
<intercept-url pattern="/**" access="isAuthenticated()"/>
<custom-filter position="PRE_AUTH_FILTER" ref="gaeFilter"/>
<form-login authentication-success-handler-ref="authSuccessHandler"/>
</http>
<beans:bean id="authSuccessHandler"
class="dk.lindhardt.arbejdsfordeling.server.security.AuthenticationSuccessHandlerImpl"/>
Et
public class AuthenticationSuccessHandlerImpl implements AuthenticationSuccessHandler {
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication)
throws IOException, ServletException {
if (authentication != null && authentication.isAuthenticated()) {
response.sendRedirect(OrganizationListServlet.URL);
}
}
}
Il n'en parle jamais dans cette méthode ci-dessus. Comment puis-je faire cela?
Edit: j'ai suivi ce guide http://blog.springsource.com/2010/08/02/spring-security-in-google-app-engine/
source d'informationauteur AnAmuser
Vous devez vous connecter pour publier un commentaire.
Vous ne devriez pas besoin d'avoir cette servlet là que la redirection. Vous pouvez avoir la redirection dans le fichier de configuration lui-même.
Je pense que nous pouvons étendre
SimpleUrlAuthenticationSuccessHandler
et appelsuper.onAuthenticationSuccess()
de la méthode à utiliserDefaultRedirectStrategy
. Le code modifié sera:Vous pourriez le faire sans le Gestionnaire par l'ajout de l'option "toujours utiliser-par défaut-cible" de votre formulaire de connexion paramètres de
Voir http://static.springsource.org/spring-security/site/docs/3.1.x/reference/springsecurity-single.html#ns-form-and-basic sous "Réglage par Défaut Après la Connexion de Destination"
Elle n'est pas jolie, mais je l'ai résolu par le positionnement d'un filtre personnalisé à la DERNIÈRE position.
Je pense que le problème est que le gaeFilter contourne la procédure de connexion normale et, par conséquent, je ne peux pas utiliser l'authentification succès de gestionnaire.