Je suis nouveau à la sécurité de printemps. J'ai créé un exemple dans la sécurité de printemps 3.Spring Security 3 Déconnexion ne fonctionne pas
Je suis confronté à un problème. Je suis capable de se connecter avec succès la page de connexion par défaut, mais quand je LOGOUT, je suis avec succès redirigée à mon loggedout.jsp mais quand vérifier avec l'URL altérant je vois que je suis toujours connecté
Le printemps security.xml
.
<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.1.xsd">
<http pattern="/loggedout.jsp" security="none" />
<http auto-config='true'>
<intercept-url pattern="/**" access="ROLE_USER" />
<logout logout-success-url="/loggedout.jsp" invalidate-session="true"
delete-cookies="JSESSIONID" />
<!-- <remember-me key="myAppKey" /> -->
<!-- <session-management invalid-session-url="/timeout.jsp">
<concurrency-control max-sessions="1"
error-if-maximum-exceeded="true" />
</session-management> -->
</http>
<authentication-manager>
<authentication-provider>
<user-service>
<user name="vrajesh" password="vrajesh"
authorities="ROLE_USER,ROLE_ADMIN" />
<user name="test" password="test"
authorities="ROLE_USER,ROLE_ADMIN" />
</user-service>
</authentication-provider>
</authentication-manager>
<!--
<http pattern="/loggedout.jsp" security="none"/>
<http use-expressions="true">
<intercept-url pattern="/**" access="ROLE_USER" />
<form-login />
<logout logout-success-url="/loggedout.jsp"
delete-cookies="JSESSIONID"/>
<remember-me />
<session-management invalid-session-url="/timeout.jsp">
<concurrency-control max-sessions="1"
error-if-maximum-exceeded="true" />
</session-management>
</http>
-->
</beans:beans>
Ceci est mon lien de déconnexion sur chaque page:
<p><a href="j_spring_security_logout">Logout</a></p>
et ceci est mon loggedout.jsp
:
<p>
You have been logged out. <a href="<c:url value='/'/>">Start again</a>.
</p>
Dans mon loggedout.jsp
, si je clique sur le lien «Recommencer», il devrait afficher la page de connexion, mais ce n'est pas le cas. Au lieu de cela, je suis connecté à l'application.
Aidez-moi s'il vous plaît et laissez-moi savoir si je manque quelque chose.
Veuillez corriger le code HTML que vous envoyez et clarifiez le fichier de configuration que vous utilisez. Veuillez également clarifier le lien "recommencer". Avez-vous activé la journalisation DEBUG? –
Avez-vous confirmé que vous êtes toujours connecté à l'application et que vous ne voyez pas seulement une version mise en cache par le navigateur de la page? – atrain