【问题标题】:favicon.ico not found error?favicon.ico 未找到错误?
【发布时间】:2016-09-22 19:00:32
【问题描述】:

我有一个使用 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 默认需要它(如果是,为什么有时会发生?)

【问题讨论】:

    标签: web spring-security http-status-code-404 favicon


    【解决方案1】:

    解释如下:

    问题是,当浏览器缓存为空且用户进入时, 这是发生了什么:

    • 用户请求 URL“/”。此网址已缓存。
    • 浏览器向“/favicon.ico”发出请求。这个网址变成 身份验证后重定向到的新 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

    【讨论】:

    • 我在尝试为我的 Grails 应用程序解决这个问题时偶然发现了这个问答。我正在使用更改后的 URLMappings 配置来处理我的 AngularJS/Grails 应用程序,其中 Grails 主要是一个 REST 后端。 Spring Security 用于 ajax 身份验证,我在 Chrome 中也遇到了这个问题。对于 Grails 用户,在 UrlMappings 中添加一个条目,例如:"/favicon.ico"(controller: "home", action: "ajaxSuccess") 其中 ajaxSuccess 包含重定向到您可能希望在验证成功时将用户发送到的位置。
    • 这里对这个问题有很好的描述:webweaver.nu/html-tips/favicon.shtml
    【解决方案2】:

    对于 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']]
    ]
    

    【讨论】:

      猜你喜欢
      • 2010-10-27
      • 1970-01-01
      • 2012-03-11
      • 2020-10-20
      • 2018-07-21
      • 2015-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多