【问题标题】:Custom Authentication Filter for Mule Http ListenerMule Http 侦听器的自定义身份验证过滤器
【发布时间】:2018-10-19 12:01:10
【问题描述】:

我想在 Mule 3 中实现一个安全过滤器,从 Spring Security 扩展 OncePerRequestFilter。但我无法使其工作,因为尚未获得身份验证代码。

这是在 mule xml 上注册过滤器的代码。

 <spring:bean id="requestContextFilter" class="com.sample.authentication.BeforeBasicAuthFilter"/>

      <ss:http entry-point-ref="restAuthenticationEntryPoint"> 
        <ss:custom-filter ref="requestContextFilter" before="FIRST"/>
     </ss:http>


   public class BeforeBasicAuthFilter extends OncePerRequestFilter {

     private HttpServletRequest request;
     public HttpServletRequest getRequest() {
       return request;
    }
    public void setRequest(HttpServletRequest request) {
      this.request = request;
    }

   @Override
    protected void doFilterInternal(HttpServletRequest request, 
    HttpServletResponse response, FilterChain filterChain)
        throws ServletException, IOException {
    this.request = request;
    System.out.println("XXXX ");
    filterChain.doFilter(request, response);
   }

 }

我相信该过滤器未注册以供 http 侦听器或身份验证管理器使用。 Mule 中是否有办法注册要在 http 侦听器上使用的过滤器?我的目标是我应该能够在身份验证发生之前拦截原始 http 请求。

【问题讨论】:

    标签: spring spring-security mule


    【解决方案1】:

    custom-filter 中的BASIC_AUTH_FILTER 之前使用。

     <ss:http entry-point-ref="restAuthenticationEntryPoint"> 
        <ss:custom-filter ref="requestContextFilter" before="BASIC_AUTH_FILTER"/>
     </ss:http>
    

    【讨论】:

    • 对不起,我已经试过了。我的具体问题是在 Mule http 侦听器上实现该过滤器,而不是 Spring Boot 应用程序。
    猜你喜欢
    • 2014-03-03
    • 2016-12-11
    • 2012-09-15
    • 2020-02-14
    • 2019-09-28
    • 2018-10-17
    • 2020-10-24
    • 2018-12-11
    • 2017-06-14
    相关资源
    最近更新 更多