关于第一次套上shiro框架遇到的页面css等失效现象

本文解决了一个由 Apache Shiro 框架引起的静态资源加载失败的问题。问题表现为由于配置不当导致 CSS 文件被错误地重定向到登录页面,从而引发浏览器报错。通过调整 Shiro 的 URL 拦截配置,允许静态资源匿名访问,最终解决了该问题。

详述

笔者曾经在这个错误上纠结了大概有3天,怎么也找不到有此种现象名字直接对应下的解决方案。起初第一天笔者对着浏览器狂刷新,开发人员工具老是提示登录页面有语法错误: 一般都提示“不料想中的‘<’”。恼火了一整天。第二天笔者试着撤回shiro配置,终于在注释掉url访问过滤器的配置上成功恢复页面css功能成功。于是这提示了笔者要注意静态资源请求的放行。第三天,笔者想通了为何F12控制台回报语法错误,事实上是,由于静态资源的请求没有放行,所以shiro强行返回在配置中的loginUrl对应的响应结果给页面<link>,使得css的请求文件得回来的竟然是一个html等类的文件,结果就是css不容许出现尖号等等字符出现。F12没有犯傻,只是在source视图以及console视图提示的错误所在行所在的文件都叫(你的登录页名字,例如)login,会让你莫名奇妙恼火。其实细致地分析,在network视图可以看到首先请求的css文件名被302重定向了,后来有出现了同等css请求数量的叫做(登录页)的响应返回,这就是shiro没有放行静态资源请求后果的端倪。

略解

请在shiroFilter配置的url拦截链中增设对静态资源的匿名访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值