問題タブ [tomcat-valve]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Tomcat 9 用のカスタム HTTP 認証システムを作成する
ユーザーを認証するために、IBM Security Access Manger を Tomcat 9 と統合する必要があります。IBM SAM パーツ用に適切に構成された Webseal (ジャンクション) があります。ユーザーの資格情報を取得し、SAM サーバーを再度認証し、成功した場合はヘッダーiv-user
、iv-group
、およびを渡しながら Tomcat にリダイレクトしiv-creds
ます。次に、認証を実装し、ユーザーのグループに基づいてアプリへのアクセスを許可するカスタム Tomcat バルブを作成する必要があります。これを行うための最良の方法は何ですか?
私の現在の考えは、アプリケーションorg.apache.catalina.valves.AuthenticatorBase
の で次の設定を使用できるようにを拡張することです。web.xml
Webseal からのヘッダーを解析し、 を生成するためにorg.apache.catalina.realm.GenericPrincipal
使用してから、特定のレルムに追加された (または に書き込まれたtomcat-users.xml
) ロールへの認証に使用できます。
私はこの認証を実際にどのように実装するかについて少し不安定なので、どんなに基本的なものであっても助けていただければ幸いです。
tomcat - build.gradle ファイルで cargo.tomcat.valve 値を設定する
私がやろうとしていること: カスタムヘッダー値をログに記録できるように、Tomcat server.xml に AccessLogValve を追加したいと考えています。(参照: https://jfrog.com/knowledge-base/how-can-i-log-custom-request-headers-using-the-tomcat-access-log-valve/ )
私が抱えている問題:gradleが実行されるたびに、新しいserver.xmlが作成されます。コンテナー プロパティを追加したいのですが、機能cargo.tomcat.valve
する形式が見つかりません。
追加したいバルブはAccess Log Valve
https://tomcat.apache.org/tomcat-8.5-doc/config/valve.html#Access_Log_Valveです
失敗例はcontainerProperties ['cargo.tomcat.valve'] = 'className=org.apache.catalina.valves.AccessLogValve| pattern=combined'
上記のさまざまなバージョンを試しましたが、どれも機能していないようです。
Mavenの例は
ただし、gradle を使用してカスタム バルブを追加する方法が見つかりません。