Supprimer jsessionid à partir de l'URL
Je suis en train de travailler sur un projet avec les technologies suivantes:
- Printemps
- ShiroFilter
- PrettyFaces
- Serveur Tomcat
Alors que je suis déploiement sur serveur tomcat, je suis un "JSESSIONID 456jghd787aa"
ajouté à la fin de l'URL.
J'essayais de résoudre cela, mais je ne suis pas en mesure de le faire.
Vous devez vous connecter pour publier un commentaire.
Pour tomcat 7 ajouter à web.xml
Le filtre suivant peut résoudre votre problème (à partir de http://randomcoder.org/maven/site/randomcoder-website/cobertura/org.randomcoder.security.DisableUrlSessionFilter.html)
Tomcat 6, ajouter disableURLRewriting="true" dans votre context.xml
Tomcat 7 et ServletFilter ont déjà été discutés
Ou par programmation :
servletContext.setSessionTrackingModes(EnumSet.de(SessionTrackingMode.COOKIE));
Vous pouvez ajouter des paramètres dans votre http balise comme suit:
Vous aurez envie de sortir de Tomcat, comme d'autres l'ont suggéré, mais vous aurez encore des problèmes avec Shiro ajoutant à la fin sur les redirections si vous n'avez pas un cookie encore fixé. Il y a deux tickets ouverts sur le problème:
https://issues.apache.org/jira/browse/SHIRO-360
https://issues.apache.org/jira/browse/SHIRO-361
J'ai essayé de Tuckey l'URL Ré-écrire au travail et a eu un succès partiel après un certain temps. Le problème, c'est Shiro n'appelle pas de réponse.encodeURL() et, par conséquent, voyage les règles de trafic sortant. J'ai été en mesure de rediriger les demandes entrantes pour supprimer l'id de session avec ces deux règles:
Qui rend au moins ne pas s'afficher dans le navigateur, mais il n'a pas de résoudre complètement le problème, parce que l'ID de session a été envoyé sur l'URL et l'redirigé vers l'emplacement sans elle. Il serait mieux si elle ne s'est jamais montré à tous.
Mise à JOUR:
SHIRO-360 et SHIRO-361 ont été corrigés et que les correctifs sont dans Shiro 1.3.0. Selon Brian Demers dans SHIRO-361:
Si vous n'êtes pas à l'aide de Servlet 3.0, vous pouvez également réaliser cela à l'aide d'un PrettyFaces Règle de Réécriture: http://ocpsoft.org/support/topic/url-rewrite-removing-the-jsessionid-from-the-url#post-410
Jetée WebappContext: