這兩天發現一個問題,如題,嘗試了不少方法,都無法解決,真是很鬱悶。web
最後看源碼才知道,個人配置以下。原意是從/api/user/login登陸成功後,跳轉到/index,可是怎麼都不能跳轉到/index。spring
原來authc攔截器(即FormAuthenticationFilter),驗證成功後只會跳轉到最開始你進入的頁面,由於我是從/api/user/login頁面進入登陸,因此只會跳轉到/api/user/login。apache
要想跳轉到/index頁面,只有最開始從/index頁面進入,後臺會重定向到/api/user/login頁面,驗證成功後,才返回/index頁面。api
<!-- Shiro的Web過濾器 ,id要與web.xml一致 --> <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"> <property name="securityManager" ref="securityManager" /> <property name="loginUrl" value="/api/user/login" /> <property name="successUrl" value="/index" /> <property name="unauthorizedUrl" value="/unauthorized" /> <property name="filters"> <map> <entry key="authc" value-ref="formAuthenticationFilter" /> </map> </property> <property name="filterChainDefinitions"> <value> /static/** = anon /api/user/login = authc /api/user/logout = logout /api/user/register* = anon /unauthorized = anon /** = user </value> </property> </bean>