comment étendre LoginUrlAuthenticationEntryPoint ou comment mettre en œuvre AuthenticationEntryPoint

Je suis en train de le faire: Faire de la sécurité printemps ajouter le retour à l'url dans la chaîne de requête pour la page de connexion , qui est: le printemps de dire à la page de connexion où je suis venu. J'ai quelques intégration SSO.. donc je vais envoyer l'url à eux, ou ils vont ajouter le referer pour moi, donc je sais que l'utilisateur doit être enregistré et envoyé à /some/url. C'est tout ce dandy. La question que je vais avoir est dans l'extension de la LoginUrlAuthenticationEntryPoint (sauf si vous pouvez dites-moi une bonne raison de mettre en œuvre AuthenticationEntryPoint à la place). J'ai besoin de modifier uniquement les demandes à la page de connexion, comme suit:

RedirectStrategy redirectStrategy = new DefaultRedirectStrategy();

//only append returnto to '/login' urls
if(request.getServletPath() == "/login") {
    //indicates we want to return to this page after login
    redirectStrategy.sendRedirect(request, response, "/login?returnto=" + request.getServletPath());
}

Comment puis-je laisser le reste de la demandes de faire leur chose? Ceci est incorrect (ce que je viens de faire):

RequestDispatcher dispatcher = request.getRequestDispatcher("/login");

//just forward the request
dispatcher.forward(request, response);

parce qu'elle nous met dans une boucle de redirection. Cependant, elle semble être ce qui ressort dans sa version de commencer. Je suis confus. Que suis-je censé faire avec commence dans mon extension à LoginUrlAuthenticationEntryPoint?

InformationsquelleAutor Josh | 2011-12-06