J'ai une application qui utilise Spring Security 3 s'exécute sur Tomcat. Je n'ai défini aucun favicon pour mon site Web, mais lorsque j'exécute mon application à partir de mon IDE _ sometimes
, une fois connecté à partir de mes pages de connexion, il redirige ma page vers:
http://localhost:8080/favicon.ico
et dit:
404 Not Found
Il y a un sujet ici: http://forum.springsource.org/showthread.php?100901-redirect-to-favicon.ico mais je n'ai pas défini de favicon.ico Spring Security 3 le veut. défaut (si oui, pourquoi ça arrive parfois?)
Voici l'explication:
Le problème est que, lorsque le cache du navigateur est vide et qu'un utilisateur arrive, Voici ce qui se passe:
- l'utilisateur demande l'URL "/". Cette URL est mise en cache.
- le navigateur envoie une requête à "/favicon.ico". Cette URL devient La nouvelle URL vers laquelle rediriger les tâches lors de l'authentification.
- l'utilisateur poste le formulaire de connexion et est redirigé vers "/favicon.ico".
Pour résoudre ce problème, vous devez définir "/favicon.ico" en tant que ressource non sécurisée :
<intercept-url pattern="/favicon.ico" access="ROLE_ANONYMOUS" />
Extrait de: http://blog.idm.fr/2010/09/spring-security-redirecting-to-faviconico.html
Pour Grails 3.0.11 et Spring Security Core 3.0.2, ajoutez "IS_AUTHENTICATED_ANONYMOUSLY" dans application.groovy dans la section:
grails.plugin.springsecurity.controllerAnnotations.staticRules = [
...
..
.
[pattern: '/favicon.ico', access: ['IS_AUTHENTICATED_ANONYMOUSLY']]
]