2016-07-02 14 views
1

私は、Springブートでを実行しなければならないフィルタを持つWebアプリケーションを作成しています。の春のセキュリティフィルタです。Springブートフィルタの順序:WebLogic 12c vs Tomcat 8

私は自分のフィルタチェーンをjavaの設定で設定しており、カスタムフィルタの注文を春のセキュリティよりも高い値に設定しています。これはTomcat上でアプリケーションを実行するときに期待通りに動作します。ただし、これはWebLogic 12cでは機能しません。 WebLogicは、Tomcatがどのようにそれを実行するか(およびその逆)の逆にフィルタチェーンを実行します。

誰もこの奇妙な奇妙なことを以前に遭遇しましたか? TomcatのようにWebLogicを動作させる方法はありますか?

マイコード:Tomcat上

final FilterRegistrationBean registration = new FilterRegistrationBean(new MyFilter()); 
registration.setOrder(-99); // spring security's is -100 

、セキュリティフィルタの後に、このmyFilterを火災。 WebLogicでは、MyFilterはセキュリティフィルタの前に起動します。 setOrderの値を-101に変更すると、WebLogicでは動作しますが、Tomcatでは動作しません。

コンテキストに応じて両方のアプリケーションサーバーでアプリケーションを実行したいので、この方法を理解する必要があります。

+0

私はこれを前に見たことがあり、Weblogicのバグであることが判明しました –

答えて

5

WebLogicには、「20493506:WLS 12.1.2 - Servlet 3 addFilterが間違った順序でフィルタを追加する」というバグがあります。

スプリングブートチームは1年前​​にmade aware of thisでした。残念ながら、Spring Bootがそれについて何もできません。うまくいけば15ヶ月プラスは、OracleがWeblogicのインストールに適用できる修正プログラムを出荷するのに十分な長さです。

+0

ありがとうございました。 Oracleサポート・アカウントを持つ人は、https://support.oracle.com/epmos/faces/DocContentDisplay?id=1996257.1を参照してください。 – user636747

0

パッチが利用可能か、運用チームがまだ適用していないのかはわかりませんが、まだ壊れています。 Thisは私が思いついた解決策です。

関連する問題