Пользовательский фильтр аутентификации для прослушивателя Mule Http - PullRequest
0 голосов
/ 19 октября 2018

Я бы хотел реализовать Фильтр безопасности в Mule 3, расширяющий OncePerRequestFilter из Spring Security.Но я не могу заставить его работать, потому что код для аутентификации не был достигнут.

Вот код для регистрации фильтра на 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 или менеджером аутентификации.Был ли способ в Муле зарегистрировать фильтр, который будет использоваться на прослушивателе http?Моя цель состоит в том, чтобы я мог перехватить необработанный http-запрос до того, как произойдет аутентификация.

1 Ответ

0 голосов
/ 19 октября 2018

Использовать до BASIC_AUTH_FILTER в custom-filter.

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