J'ai le projet Spring MVC + Spring Security.
<http auto-config="true" access-denied-page="/security/accessDenied" use-expressions="true" disable-url-rewriting="true">
...
<intercept-url pattern="/dashboard/myaccount/**" access="hasAnyRole('ROLE_PERSON', 'ROLE_DEALER')"/>
...
<form-login login-page="/security/login" authentication-failure-url="/security/login?error=true"
default-target-url="/security/success" username-parameter="email"
password-parameter="secret"/>
<logout invalidate-session="true" logout-success-url="/index" logout-url="/security/logout"/>
Si un utilisateur accède à la page de connexion, s'il réussit, il sera redirigé vers "/ security / success" où je fais plus de choses dans le contrôleur avec l'objet de session (enregistrez l'ID utilisateur, ... etc)
Mon problème est que lorsqu'un utilisateur GUEST va à / dashboard / myaccount (qui nécessite AUTH), il est redirigé vers la page LOGIN (ce que je ne veux pas, je préfère un 404 lancé). Après cela, Spring Security ne redirige pas vers / security / success. Au lieu de cela, il est redirigé vers / dashboard / myaccount.
Je préférerais trouver un moyen de désactiver complètement cette redirection vers la page de connexion au cas où INVITÉ tenterait d'accéder à une page AUTH.
Y a-t-il un moyen de le faire?
Tnx
Trouvé ceci: always-use-default-target = "true"
De cette façon, ma fonction de contrôleur est toujours appelée après toute connexion.
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots