【问题标题】:Trigger manually a FilterChainProxy手动触发 FilterChainProxy
【发布时间】:2017-01-09 16:37:38
【问题描述】:

我已经手动创建了一个新的 spring FilterChainProxy:

private FilterChainProxy getCustomFilterChainProxy()
{
    List<SecurityFilterChain> securityFilterChains = new ArrayList<SecurityFilterChain>();
    securityFilterChains.add(new DefaultSecurityFilterChain( new AntPathRequestMatcher("/**"), new MyFilter1()));
    securityFilterChains.add(new DefaultSecurityFilterChain( new AntPathRequestMatcher("/admin/**"), new MyFilter2()));

    return new FilterChainProxy(securityFilterChains);      
}

考虑到我有一个新的 HttpServletRequest,我想根据自定义 FilterChainProxy 检查请求。像这样的:

FilterChainProxy customFilterChainProxy = getCustomFilterChainProxy();
customFilterChainProxy.doFilter(request, null, (FilterChain) customFilterChainProxy.getFilterChains() );

但我正在努力正确定义 doFilter() 方法的第三个参数中使用的 FilterChain。

我该怎么做?

谢谢。

【问题讨论】:

    标签: java spring spring-security


    【解决方案1】:

    你为什么不编写一个集成测试,使用MockMvc.apply(SecurityMockMvcConfigurers.springSecurity()) Here 是一个关于集成MockMvc 和SpringSecurity 的帖子的链接。

    它非常有用,可以让您测试您的登录和受保护的服务。在尝试查看它是否在浏览器中工作之前,我经常发现自己正在编写/修改测试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-27
      • 2017-04-01
      • 2019-04-03
      • 1970-01-01
      • 1970-01-01
      • 2012-06-01
      • 1970-01-01
      • 2019-11-12
      相关资源
      最近更新 更多