Подтвердить что ты не робот

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 (если да, почему это происходит иногда?)

4b9b3361

Ответ 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']]
]