shiro配置好后,页面登录成功会自动重定向/favicon.ico

问题描述:


今天给浏览器页面加上logo文件 /favicon.ico,类似上图。

文件放在 static/common/images 路径下,页面 head 里加上

<link rel="shortcut icon" href="static/common/images/favicon.ico" type="image/x-icon">

浏览器可以成功显示 favicon.ico,但是在第一次登陆成功后会自动重定向到 /favicon.ico 文件的路径。


网上的解决办法:
基本大多数浏览器都会请求 favicon.ico 这个图标文件用来展示在浏览器的URL地址前面,而这个文件被shiro保护了。

解决方法:

在 filterChainDefinitions 下配置 /favicon.ico 以匿名访问

 /favicon.ico = anon
可是我配置好 /static/common/images/favicon.ico = anon 后,还是会重定向。

多次测试之后发现anon配置的顺序会有影响。

Shiro验证URL时,URL匹配成功便不再继续匹配查找,所以要注意配置文件中的URL顺序,尤其在使用通配符时。
故filterChainDefinitions的配置顺序为自上而下,以最上面的为准。

之前的配置:
<property name="filterChainDefinitions">
	<value>
		/resources/**=anon
		/systemManage/resources/**=anon
		/unauthorized = authc
		/login = authc
		/logout = logout
		<!--/authenticated = authc-->
		/** = user,sysUser
		/static/common/images/favicon.ico = anon
	</value>
</property>



修改后的配置:
<property name="filterChainDefinitions">
	<value>
		/static/common/images/favicon.ico = anon
		/resources/**=anon
		/systemManage/resources/**=anon
		/unauthorized = authc
		/login = authc
		/logout = logout
		<!--/authenticated = authc-->
		/** = user,sysUser
	</value>
</property>

只是调整了  /static/common/images/favicon.ico = anon 的顺序。

过滤器 anon  表示可匿名使用,可以理解为匿名用户或游客,无需认证便可以访问的的文件。


还是不太理解顺序跟重定向的关系,但是我确实依靠调整顺序解决了这个问题。有知情的大神,还请不吝指教!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值