大白兔爱吃AD钙奶的奶糖 2019-12-02 15:41 采纳率: 0%
浏览 1398

springboot+shiro认证成功后无法跳转successUrl

这是Filter

@Bean(name = "shiroFilter")
    public ShiroFilterFactoryBean shiroFilterFactoryBean() {
        ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
        shiroFilterFactoryBean.setSecurityManager(securityManager());
        Map<String, Filter> filters = new LinkedHashMap<>();
        //自定义Filter
        filters.put("authc", new ShiroFormAuthenticationFilter());
        shiroFilterFactoryBean.setFilters(filters);
        Map<String, String> filterChainDefinitionManager = new LinkedHashMap<String, String>();
        filterChainDefinitionManager.put("/","authc");
        shiroFilterFactoryBean.setLoginUrl("/");
        shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionManager);
        shiroFilterFactoryBean.setSuccessUrl("/Success.do");
        shiroFilterFactoryBean.setUnauthorizedUrl("/403");
        return shiroFilterFactoryBean;
    }

这个是我的自定义继承FormAuthenticationFilter

public class ShiroFormAuthenticationFilter extends FormAuthenticationFilter {
    @Override
    protected boolean onLoginSuccess(AuthenticationToken token, Subject subject, ServletRequest request, ServletResponse response) throws Exception {
        System.out.println("------------------------");
        String successUrl = "/admin/access/index.html";//我是直接写死了跳转链接

        WebUtils.issueRedirect(request,response,successUrl);

        return false;//返回false表示执行链结束
    }
}

现在问题是我看了网上的教程,说是要继承重新onLoginSuccess方法,但是我的这个自定义的Filter始终没有被执行,SuccessUrl也一直没有跳转
各位大佬 求帮助。。。

  • 写回答

2条回答 默认 最新

  • 仔鸡 2019-12-02 16:16
    关注

    首先,,,

    filterChainDefinitionManager.put("/","authc");
    

    这行的要求认证的路径写错了,应该用

    filterChainDefinitionManager.put("/**","authc");
    

    来匹配
    然后,你真的认证通过了么,或者你那个登陆成功的页面确认可以访问吗?

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料