cas+shiro在谷歌浏览器下的离奇跳转

cas+shiro配置好后,在本地测试环境(jetty服务器)三大浏览器测试都没问题,但部署到线上时,谷歌浏览器在cas登陆成功跳转回shiro的回调地址时重定向到了favicon.ico这个地址,由于后台并没有这个地址,所以服务器出了个404页面。那shiro为什么会从定向到这个地址呢?百思不得其解,后来查资料才知道favicon.ico是网站的图标,浏览器请求网站时也会请求这个图标。但为什么刚访问网站时没有去请求,到了从cas跳转回来时才请求呢?我估计这个与具体浏览器的实现有关。我猜测谷歌浏览器是这样处理的:当从cas登录成功跳转回shiro时,chrome先去请求favicon.ico,由于这个地址被shiro拦截,shiro会跳转到登录页面,但chrome可能认为这是个错误,给你个404页面。个人理解,有知道具体原因的望不吝告知,谢谢!

解决方法很简单,就是添加下面代码到shiro的配置文件中,使favicon.ico可以匿名访问

/favicon.ico = anon 

你可能感兴趣的:(前端)