Я пытаюсь установить порядок выполнения 2-х фильтров в моем загрузочном приложении spring, которые имеют одинаковое отображение URL-адресов. Я пробовал использовать 2 регистрации фильтра beans в моем основном классе приложений, как показано ниже, но это не сработало. Я хочу, чтобы authorizationFilter
ударил сначала, а затем validationFilter
. Но он всегда попадает ТОЛЬКО validationFilter
, когда оба настроены. Если я прокомментирую validationFilter
, он попадет в authorizationFilter
.
@Bean
public FilterRegistrationBean authorizationFilter(){
FilterRegistrationBean filterRegBean = new FilterRegistrationBean();
filterRegBean.setFilter(authorizationFilter);
List<String> urlPatterns = new ArrayList<String>();
urlPatterns.add("/v1/*");
filterRegBean.setUrlPatterns(urlPatterns);
return filterRegBean;
}
@Bean
public FilterRegistrationBean validationFilter(){
FilterRegistrationBean filterRegBean = new FilterRegistrationBean();
filterRegBean.setFilter(validationFilter);
List<String> urlPatterns = new ArrayList<String>();
urlPatterns.add("/v1/*");
filterRegBean.setUrlPatterns(urlPatterns);
return filterRegBean;
}
Я также попытался представить web.xml
и преобразовать исполняемую банку в военный файл.
<web-app>
<filter>
<filter-name>authorizationFilter</filter-name>
<filter-class>com.security.filter.AuthorizationFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>authorizationFilter</filter-name>
<url-pattern>/v1/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>validationFilter</filter-name>
<filter-class>com.security.validation.ValidationFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>validationFilter</filter-name>
<url-pattern>/v1/*</url-pattern>
</filter-mapping>
</web-app>
Но приложение, похоже, не распознает web.xml, поскольку оно касается только фильтра проверки с приведенной выше конфигурацией. Я ценю любые материалы для решения этой проблемы. Благодаря