favicon.ico引起的spring security登录后跳转错误

之前一直没发现这个问题是因为在项目中存在favicon.ico文件,这个请求被nginx处理了而未转发给tomcat。
这次因为偷懒还没来得及配置nginx,结果就出现了上面的问题。
出现上述问题的原因是:基本大多数浏览器都会请求favicon.ico这个图标文件用来展示在浏览器的URL地址前面,而这个文件被spring security保护了,所以…有下面的流程:
the user requests URL "/". This URL is cached.
the browser makes a requests to "/favicon.ico". This URL becomes the new URL where to redirect to upon authentication.
the user posts the login form and is redirected to "/favicon.ico"
而解决办法是将favicon.ico加入允许匿名访问.

 代码如下 复制代码
<sec:intercept-url pattern="/favicon.ico" access="IS_AUTHENTICATED_ANONYMOUSLY" />

 
其实这并不是一个好方案,为何要将favicon.ico请求的处理交给你的Servlet容器呢?仅仅一个图标而已,我们应该用nginx或apache直接处理:

 代码如下 复制代码

location /favicon.ico {
    #root '/data/web/static/';
    return 404;
}

时间: 2024-09-19 10:33:01

favicon.ico引起的spring security登录后跳转错误的相关文章

spring security加密后如何解密

问题描述 spring security加密后如何解密 我想编辑加密后的用户信,密码加密后字段太长了,我想解密该怎么做. 解决方案 没有知道的吗?????????

spring security登录问题

问题描述 spring security登录问题 10C spring security 登录 访问/security_check,404,在本地访问正常,服务器上单个tomcat启动,也可以正常访问.但部署为分布式节点时,由外网访问就访问不了了.从日志看,有打印security相关的日志,但security_check的请求没有被security识别为默认的登录请求,而作为了一个普通请求,被security拦截了.如下图,运行环境一致,分布式部署使用的nginx 解决方案 应该是你发布的时候c

PayPal英国网站出现故障 用户登录后显示服务器错误信息

北京时间6月24日下午消息,据国外媒体报道,eBay旗下网络交易系统PayPal英国网站目前出现故障,尽管首页可以打开,但用户登录后显示服务器错误信息. 据悉,用户登录后会出现如下报错页面"内部服务器错误:服务器遭遇内部错误或错误设置,不能完成您的请求.请与服务器管理员联系,邮件地址为webmaster@paypal.com,请告知他们错误出现时间,以及所有可能导致出错的操作.有关错误的更多信息请参考服务器错误目录." (志伟)

php中登录后跳转回原来要访问的页面实例

最简单的办法就是直接使用php $_SERVER['HTTP_REFERER'] 如果我在A.php页面要登录 现在跳到B.php页面,我们只要在b.php中加如下代码  代码如下 复制代码 $url = $_SERVER['HTTP_REFERER']; header("location:$url"); 但是上面的办法会有很多不足,如带参数等等,但在IE浏览器下的话,假如你是通过js的location来跳转的话,那这个值是获取不到的.  下面我做一个全面点的. 首先创建一个方法判断是

页面获取Spring Security登录用户

  1.在session中取得spring security的登录用户名如下:${session.SPRING_SECURITY_CONTEXT.authentication.principal.username} spring security 把SPRING_SECURITY_CONTEXT 放入了session 没有直接把username 放进去.下面一段代码主要描述的是session中的存的变量, 存跳转时候的URLsession {SPRING_SECURITY_SAVED_REQUE

Spring boot +Spring Security + Thymeleaf 认证失败返回错误信息

  [Please make sure to select the branch corresponding to the version of Thymeleaf you are using] Status This is a thymeleaf extras module, not a part of the Thymeleaf core (and as such following its own versioning schema), but fully supported by the

Struts 拦截器权限控制【通过拦截器实现登录后跳转到登录前页面】

应用情形:在web项目中,经常会遇到用户未登录或SESSION失效时用户发出非法的权限操作,如新闻的评论.文件的下载等等,在此我们可以使用struts拦截器对该用户发出的请求进行拦截,拦截后判断用户是否登录或SESSION是否有效,然后进行其正常操作.具体实例如下: 新建一个拦截器类UserInterceptor ,UserInterceptor.java代码如下 [java] view plaincopyprint? package com.hsinghsu.test.interceptor;

WordPress退出登录后跳转到指定页面的方法

现在退出登录WordPress后台后跳转到登录界面,然后我们再点击一下跳转到首页,这样子很麻烦. 我们需要wordpress推出后跳出到外面指定的界面,那要怎么做呢? 将下面的php代码放到当前主题的functions.php中即可:  代码如下 复制代码 add_filter('logout_url', 'logout_redirect', 10, 2);   function logout_redirect($turl, $redir) {   $redir = 'http://www.11

WordPress实现退出登录后跳转到指定页面

这个问题也很好解决,将下面的php代码放到当前主题的functions.php中即可:  代码如下 复制代码 add_filter('logout_url', 'ludou_logout_redirect', 10, 2); function ludou_logout_redirect($logouturl, $redir) {   $redir = 'http://www.111cn.net/'; // 这里改成你要跳转的网址   return $logouturl . '&redirect_