使用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路徑下文件放過,即可