J'utilise la sécurité du ressort pour l'authentification. L'authentification fonctionne bien. Mais après l'authentification, il n'est pas redirigé vers le HTML qui a été mentionné à l'aide de l'URL cible par défaut dans le fichier de configuration de Security Spring. Je reçois un message simple <form-login login-page="/login.jsp" default-target-url="/welcome.html"/>
5 Réponses :
Si un utilisateur est envoyé à la page de connexion après avoir demandé une ressource protégée, elle sera envoyée à la page demandée à l'origine après la connexion réussie. Défaut -Target-URL ne sera utilisé que si l'utilisateur connecté sans demander une ressource protégée (c'est-à-dire qu'ils ont navigué directement sur la page de connexion). Si vous voulez toujours aller à l'URL de cible par défaut, vous pouvez spécifier Toujours-utilisation-par défaut-cible =" vrai "comme indiqué dans l'exemple ci-dessous
<form-login login-page="/login.jsp" default-target-url="/welcome.html" always-use-default-target="true"/>
C'est le problème. Même si je n'ai que l'URL de la cible par défaut, après une connexion réussie, cela m'a demandé à Etrange /Favicon.ico.
C'est ce que je cherchais;)
Un gotcha intéressant ici est si le navigateur demande une ressource nécessitant une session authentifiée - par exemple. Demandant un fichier JavaScript qui oblige l'utilisateur à être connecté, cela générerait une erreur 403 que si vous avez des pages d'erreur configurées dans Spring ou web.xml redirigerait l'utilisateur - mais l'utilisateur ne verrait jamais cela. P>
Puis, lorsque l'utilisateur se connecte, le dernier ressort pense que l'utilisateur demandé était une page d'erreur et que l'utilisateur est donc dirigé vers la page d'erreur et non la page par défaut dans votre configuration dans le ressort p>
Je sais que c'est une question plutôt ancienne, mais certains utilisateurs peuvent aussi avoir ce problème maintenant. P>
welcome.html code> (relatif au chemin de contexte). Vous pouvez supprimer intercept-url code> ou y accéder directement après la connexion. LI>
- Assurez-vous de spécifier également le
Toujours-Use-Use-Use-Cible = "vrai" code> li>
- Si vous avez spécifié la gestion de la session, assurez-vous d'abord que vous n'êtes pas redirigé d'abord au
invalide-session-url code>. Li>
ol>
Comme vous pouvez le voir dans l'image, il existe une sorte de mauvais design (OMI doit toujours rediriger vers l'URL par défaut-cible-URL code>). Lorsque vous allez à l'URL de connexion à partir d'une ressource interdite, elle vous redirigera sur cette URL et ne pas aller à travers le
par défaut-cible-url code>.
Il suffit d'utiliser
toujours-utiliser-user-par défaut-cible = "vrai" code> et vous aurez le comportement du désir p>
J'ai eu un problème similaire et une réponse ci-dessus m'a donné un indice, mais depuis que j'utilise des configurations directement à partir de la classe Java après m'a aidé:
in Docs.spring.io Vous pouvez trouver: P >
par défaut de la valeur par défaut (chaîne de valeur par défaut), Booléan toujours) p>
Par conséquent, lorsqu'il est modifié P> à p> problème a été résolu. p> p>
merci cela m'a aidé. En regardant le Javadoc: / ** * Spécifie où les utilisateurs seront redirigés après l'authentification avec succès si * ils n'ont pas visité une page sécurisée avant d'authentifier ou {@code TOUJOURSUtilisez} * est vrai. * / Ce que je comprends d'en haut, c'est que si On n'a pas visité une page sécurisée d'abord, la redirection ne se produira que si le drapeau est défini sur True.