web-dev-qa-db-ja.com

favicon.ico not foundエラー?

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デフォルトでそれを望んでいる(はいの場合、なぜそれが時々起こるのですか?)

13
kamaci

ここに説明があります:

問題は、ブラウザーのキャッシュが空でユーザーがアクセスすると、次のようになることです。

  • ユーザーは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

19
kamaci

Grails 3.0.11とSpring Security Core 3.0.2の場合、application.groovyのセクションに「IS_AUTHENTICATED_ANONYMOUSLY」を追加します。

grails.plugin.springsecurity.controllerAnnotations.staticRules = [
...
..
.
[pattern: '/favicon.ico',      access: ['IS_AUTHENTICATED_ANONYMOUSLY']]
]
0
Samuel Ivan