Favicon.ico не найдена ошибка?
У меня есть приложение, которое использует Spring Security 3 для Tomcat. Я не определял какой-либо значок для моего веб-сайта, однако, когда я запускаю свое приложение из своей IDE sometimes
после входа в систему со своих логинных страниц, он перенаправляет мою страницу на:
http://localhost:8080/favicon.ico
и говорит:
404 Not Found
Здесь есть тема: http://forum.springsource.org/showthread.php?100901-redirect-to-favicon.ico однако я не определил favicon.ico Spring Security 3 хочет его default (если да, почему это происходит иногда?)
Ответы
Ответ 1
Вот объяснение:
Проблема заключается в том, что, когда кеш браузера пуст и пользователь входит, вот что происходит:
- пользователь запрашивает URL "/". Этот URL-адрес кэшируется.
- браузер запрашивает "/favicon.ico" . Этот URL-адрес становится новый URL-адрес, куда нужно перенаправить запрос при аутентификации.
- пользователь отправляет форму входа и перенаправляется на "/favicon.ico" .
Чтобы исправить это, вам нужно установить "/favicon.ico" как незащищенную ресурсы:
<intercept-url pattern="/favicon.ico" access="ROLE_ANONYMOUS" />
Взято из: http://blog.idm.fr/2010/09/spring-security-redirecting-to-faviconico.html
Ответ 2
Для Grails 3.0.11 и Spring Security Core 3.0.2 добавьте в раздел application.groovy "IS_AUTHENTICATED_ANOYMOUSLY" в разделе:
grails.plugin.springsecurity.controllerAnnotations.staticRules = [
...
..
.
[pattern: '/favicon.ico', access: ['IS_AUTHENTICATED_ANONYMOUSLY']]
]