Я пишу веб-приложение в Spring Boot, у которого есть фильтр, который должен выполнить после фильтров безопасности Spring.Spring Boot filter order: WebLogic 12c vs Tomcat 8
Я сконфигурировал цепочку фильтров через конфигурацию java и установил порядок моего пользовательского фильтра на значение, большее, чем весенняя безопасность. Это работает, как и ожидалось, при запуске приложения на Tomcat; однако это не работает в WebLogic 12c. WebLogic выполняет цепочку фильтров в обратном порядке, как Tomcat выполняет ее (и/или наоборот).
С кем-либо сталкивался этот особенный причуд? Есть ли способ заставить WebLogic вести себя так, как это делает Tomcat?
Мой код:
final FilterRegistrationBean registration = new FilterRegistrationBean(new MyFilter());
registration.setOrder(-99); // spring security's is -100
На сервере Tomcat это MyFilter пожары после фильтров безопасности. В WebLogic MyFilter срабатывает перед фильтрами безопасности. Если я изменил значение setOrder
на -101, скажем, тогда он будет работать для WebLogic, но не для Tomcat.
Я хотел бы запустить приложение на обоих серверах приложений, в зависимости от контекста, поэтому мне нужно выяснить, как это сделать.
Я думаю, что видел это раньше, и это оказалось ошибкой в Weblogic –