前提
登录处理URL:/login
拦截器配置:filterChainDefinitionMap.put("/login", "anon");


无效原因
/login被anon拦截器拦截,根本不会执行登录并跳转到successUrl页


解决方法
换个拦截器拦截,比如authc,当然也可自定义实现。
以authc为例
1. 拦截器为authc

filterChainDefinitionMap.put("/login", "authc");

2. 设置登录页为/login(登录展示页和登录处理页URL一致,但是http method不一样)

shiroFilterFactoryBean.setLoginUrl("/login");

3. 登录处理URL(/login)一定要为POST请求

4. authc拦截器登录成功后将跳转到successUrl页