LDAP ベースの認証から SSO (Oracle の WebGate) に移行しています。
現在、LDAP ベースでは、位置に ( UsernamePasswordAuthenticationFilter
) を使用したフォーム ベースの認証を使用していますFORM_LOGIN_FILTER
。
SSO の場合、ユーザーは事前認証され、ユーザー名を含むリクエスト ヘッダーが送信されます。位置で使用RequestHeaderAuthenticationFilter
する予定です。PRE_AUTH_FILTER
問題は、これらのフィルターの両方を同時に存在させ、プロパティ ファイルの値に基づいてフィルターを切り替える機能が必要なことです。これは、実稼働環境で SSO が期待どおりに機能しないため、LDAP に簡単にフォールバックできるシナリオ用です。
私の質問は、これを適切に実装する方法です。これらの位置に 2 つのフィルターが同時に存在する場合、副作用はありますか? これらのフィルターの両方を拡張し、継承されたクラスにプロパティ チェックを追加する方が良いですか、それともそれらの間の切り替えを処理する複合フィルターを作成する方が良いですか?