使用shiro搭建项目过程中,总是出现登录页面 登录第一次有效果,登陆第二次出现302状态码,第三次又有效果,第四次又没有效果的局面。
因此,采用ajax提交页面登录的用户名和密码,但是在引用js的过程中,明明js的地址和引用路径正确,却总是报错如下:
Uncaught SyntaxError: Unexpected token <
页面代码反复的看,找不到原因。
解决问题:
最后发现,是因为shiro的配置中,并未将js路径下的文件放过,导致页面引用js时候出现被拦截,出现302状态码,导致重定向到了规定的未登陆页面。
这也就是为什么页面引用Js总出现上面的错误的问题~!
<!-- Shiro过滤器 --> <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"> <!-- Shiro的核心安全接口,这个属性是必须的 --> <property name="securityManager" ref="securityManager"/> <!-- 身份认证失败,则跳转到登录页面的配置 --> <property name="loginUrl" value="/index.jsp"/> <!-- 权限认证失败,则跳转到指定页面 --> <property name="unauthorizedUrl" value="/error.jsp"/> <!-- Shiro连接约束配置,即过滤链的定义 --> <property name="filterChainDefinitions" ref="filterChainDefinitions" /> </bean> <bean name="filterChainDefinitions" class="java.lang.String"> <constructor-arg> <value> /=anon /index.jsp=anon /login/login.htmls=anon /js/** = anon /**=authc </value> </constructor-arg> </bean>
将js路径下文件放过,即可