好吧,折腾了好久Shiro.之前遇见的问题是:
部分在页面引用的css,js文件无法被正常加载,报302状态.
因为框架集成的是SpringMVC + Shiro,最开始预测问题是因SpringMVC代理了Servlet的请求,导致静态文件无法被正常解析引起的.
但是,配置了几次Spring资源文件这块,结果问题还是依旧...
然后就看到了Shiro的Filter下面的/.
所有的请求必须都经过Shiro了...会不会是Shiro过滤了静态文件?
尝试注释了Shiro的Filter,然后,页面正常加载了...
好吧,又是一顿查资料,结果最终的解决方案是:
在Spring的集成配置文件中添加:
<!-- Shiro Filter -->
<bean id="shiroFilter"
class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
<property name="securityManager" ref="securityManager" />
<property name="loginUrl" value="/" />
<property name="successUrl" value="/system/main" />
<property name="unauthorizedUrl" value="/system/error" />
<property name="filterChainDefinitions">
<value>
/login = anon
/validateCode = anon
/resources/** = anon <!-- 配置静态资源不被拦截,所有静态文件必须放在WEB-INF/resources中,不然会报302错误 -->
/** = authc
</value>
</property>
</bean>
=====================OK,问题解决...===============