J'essaye de simuler une demande de publication en utilisant le code ci-dessous.Spring MockMvc redirection ne fonctionne pas
Je teste une demande de connexion de sécurité printemps. Le code fonctionne bien et après la connexion réussie, je redirige vers un autre contrôleur.
@Override
public void onAuthenticationSuccess(HttpServletRequest request,
HttpServletResponse response, Authentication authentication) throws IOException,
ServletException {
RequestDispatcher rd = request.getRequestDispatcher("/myURL");
rd.forward(request, response);
}
Lorsque j'exécute le test, j'obtiens les journaux ci-dessous. La redirection ne se produit pas et le contrôleur mappé à/myURL n'est pas appelé.
11:59:55.839 [main] DEBUG o.s.mock.web.MockRequestDispatcher - MockRequestDispatcher: forwarding to [/myURL]
11:59:55.841 [main] DEBUG o.s.s.w.c.HttpSessionSecurityContextRepository - The HttpSession is currently null, and the HttpSessionSecurityContextRepository is prohibited from creating an HttpSession (because the allowSessionCreation property is false) - SecurityContext thus not stored for next request
11:59:55.841 [main] DEBUG o.s.s.w.c.SecurityContextPersistenceFilter - SecurityContextHolder now cleared, as request processing completed
Aucune erreur signalée.
Ai-je raté quelque chose? La redirection ne se produira-t-elle pas lors de l'utilisation de MockMvc?
Comment construisez-vous une instance de MockMvc? Quelle version de Spring Security? – holmis83
a mis à jour la question avec des détails pertinents. J'utilise la sécurité de printemps 4.1.2 – lives