这两天发现一个问题,如题,尝试了不少方法,都无法解决,真是很郁闷。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>