問題タブ [actuator]
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.
spring-boot - Keycloak セキュリティを備えたスプリング ブート アクチュエータ エンドポイント
アクチュエーターエンドポイントを備えたスプリングブートプロジェクト (2.3.0.RELEASE) があり、KeycloakWebSecurityConfigurerAdapter を使用してプロジェクトにキークロークを導入しています。
「/actuator/**」エンドポイントを基本認証で保護したいと考えています。
現在、「/actuator/**」に基本認証を適用する @Order(1) を使用したカスタム WebSecurityConfigurerAdapter があり、次に @Order(2) を使用して KeycloakWebSecurityConfigurerAdapter に注釈を付けています。
そのため、2 つのフィルター チェーンが登録され、アクチュエーター エンドポイントを呼び出すと、2 番目のフィルター チェーンが無許可の 401 として失敗します。
2 番目のフィルター チェーンで "/actuator/**" リソース パスを処理しないようにすることは可能ですか?
最初のアクチュエータ セキュリティ構成。
2 番目のキークローク セキュリティ設定
キークローク設定で試してみました
そして
アクチュエーターに対して不正な 401 を受信しました
登録されたフィルター チェーン:
java - CompositeHealthIndicator と OrderedHealthAggreagtor をスプリング ブート 2 に移行する
煩わしい問題を数日間解決してみてください。
スプリング ブート 1 で行われること: HealthIndicator を拡張し、いくつかのヘルス メトリックで構成されるプライベート CompositeHealthIndicator(OrderedHealthAggregator) を持つメイン クラス。明らかに CompositeHealthIndicator.health() を返す、メイン クラスのメソッド health をオーバーライドします。そして他のどこかで、このオーバーライドされたヘルスが使用されました。
しかし、Spring Boot 2 は、CompositeHealthContributor および SimpleStatusAggregator のフレーバーのために廃止された非常にクールでシンプルなクラスを作成しました。しかし、それらは完全に異なるクラスであり、ヘルスを返したり並べ替えたりすることさえできません。ヘルスを集計し、それを構成してソートして返したいだけですが、ブート 2 は奇妙で複雑に見えて、この問題を簡単に解決することはできません。