项目环境
- Spring Boot 2.0.1.RELEASE
- Shiro 1.4.0
问题描述
在使用Spring Boot + Shiro的项目环境下,引入前端资源时出现了 Uncaught SyntaxError: Unexpected token < 的问题,
前提条件是项目未登录的情况下对登录页面进行调整,登录后控制台未出现该问题。
最初以为是资源引入的姿势不对,排查了几分钟突然想起来这丫的是登录页面,看了下Shiro配置类对该目录下的资源控制,果然在未登录的情况下用户没有对该文件的使用权限。
解决方案
在Shiro配置的shiroFilter方法内,配置该文件或目录的访问权限为anon,Spring Boot下是这样书写的
filterMap.put("/static/js/Base.js", "anon");
当然,涉及到Shiro的权限相关,需按不同项目的不同使用场景进行修改。