問題タブ [spring-boot-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-security - 設定可能なエンドポイントを失わずにスプリング セキュリティ アクチュエータをオーバーライドする
プロジェクトActuators
内のエンドポイントを保護しようとしています。Spring Boot
ただし、代わりにすぐに実行できるSpring Security
構成を使用しますActuators
。
簡単すぎるのでActuators
、カスタム セキュリティ (ここではCAS
SSO)をプラグインする必要があります。
最初に試してみたのは、 context-path
forを追加することでしたActuators
:
WebSecurityConfigurerAdapter
そして私の設定を更新してください
動作しますが、ハードコーディングする必要がActuators
context-path
あるため、更新する場合management.context-path
はセキュリティを更新する必要があります。
の値を取得できることはわかっていますmanagement.context-path
が、値が に等しい場合にそれを管理するにはどうすればよいです""
か?
あなたは私に答えて、エンドポイント@Autowired
EndpointHandlerMapping
のリストを取得できActuators
ます... 最後に、 と同じロジックをコピーして貼り付けますManagementSecurityAutoConfiguration.ManagementWebSecurityConfigurerAdapter
。
さらにManagementSecurityAutoConfiguration.ManagementWebSecurityConfigurerAdapter
@ConditionalOnMissingBean
、それ自体を指していますが、ManagementSecurityAutoConfiguration.ManagementWebSecurityConfigurerAdapter
内部静的保護クラスであるため、パラメーターを渡さずに無効にすることはできずmanagement.security.enabled=false
、構成が述べているため奇妙になる可能性がありますmanagement.security.enabled=false
が、実際にはエンドポイントは保護されています...
結論
Actuators
セキュリティを適切に (一部だけ) 上書きする方法はありますか- 私は何かを見逃してもいいですか、そして私は完全に間違っていますか?
hibernate - アクチュエーターとカスタム Security を使用した Spring Boot OpenSessionInViewFilter
Spring Boot を使用して RESTful Web サービスを作成しています。セキュリティのために、AbstractUserDetailsAuthenticationProvider を拡張して BasicAuthenticationFilter とカスタム AuthenticationProvider を使用しています。コントローラー クラスで @Secured アノテーションを使用してメソッド レベルのセキュリティを使用しています。スプリングアクチュエーターも機能させようとしていることを除いて、すべて正常に機能します。
アクチュエータの問題は、セッションが開いていないためにリクエストを認証しようとすると、休止状態の例外が発生することです。そのため、http://localhost:8081/infoにアクセスすると、休止状態の例外が発生します。
アクチュエーターは、アプリの残りの部分とは別のフィルター チェーンを使用しているようです。もしそうなら、それには正当な理由があると確信しています。ただし、OpenSessionInViewFilter を登録して、各フィルター チェーンの最初のフィルターにする方法がわかりません。私の OpenSessionInViewFilter は、私の @Configuration クラスの 1 つで FilterRegistrationBean を介して登録されます。
Spring Boot は素晴らしいですが、内部では多くの魔法が行われており、コードを掘り下げてすべての開始点を確認し、それをたどる方法をまだ理解していません。
これが私の構成の一部です。大切だと思うことをまとめてみました。他に見たい作品があれば教えてください。
どんな助けでも大歓迎です。
アクチュエーターの /info エンドポイントにアクセスしようとしたときのスタック トレースを次に示します。
spring-boot - スプリング ブート アクチュエーター / Swagger
私は Spring Boot アプリケーションに取り組んでおり、ドキュメントには Swagger を使用しています。
アプリケーションに Spring Boot Actuator を追加しましたが、アクチュエーター (/health /metrics ..) によって作成される新しいサービスを Swagger ドキュメントに追加したいと考えています。
Actuator と Swagger の構成方法がわかりません。
java - Spring Boot Actuator の DataSourcesHealthIndicatorConfiguration が dataSource Bean を見つけられない
Actuator を既存の Spring Boot (v1.2.2) プロジェクトに追加しました。私の目標は、/health エンドポイントから DB 情報を確認することです。現在、そのエンドポイントは次を返します。
これらのプロパティをプロジェクトのプロパティ ファイルに追加しました。
プロジェクトには、次のように DataSource Bean を作成する @Configuration クラスが既にあります。
@EnableAutoConfiguration アノテーションは、プロジェクトのどこにも使用されていません。
Bean エンドポイントから「dataSource」Bean を確認できます。
/configprops エンドポイントには、特に以下が含まれます。
しかし、dataSource の兆候はありません ;^(
このプロジェクトは MySql DB を使用しているため、'SELECT 1' クエリに正しく応答します。
HealthIndicators が構築された後に dataSource Bean が作成されているのだろうかと思いますが、これまでのところ、私の Spring foo は失敗しました。
カスタムの HealthIndicator を記述する必要はありませんが、必要な場合は記述します。
また、サンプル プロジェクトに Actuator を追加しました。これは、DataSource Bean を明示的に作成せず、H2 DB で CrudRepository を拡張する @Repository マークの付いた多数のインターフェイスを使用したという点で異なります。
サンプル プロジェクトの /configprops エンドポイントは、予想どおり、dataSource および diskSpace プロパティを返します。
java - Springboot で web-inf/lib フォルダーの下にある jar の場所を取得してクラスパスを構成する方法
サイド springboot プロジェクトで JAVA_HOME を使用して「java」コマンドを使用する要件が 1 つあります。java コマンドを呼び出すときに、springboot war の WEB-INF/lib フォルダーで使用できる jar ファイルが必要です。この変数を Java コマンドの引数として渡すことができるように、変数内のすべての jar を一覧表示したいと考えています。
クラスパスを構成して、WEB-INF/lib フォルダーのすべての jar ファイルを一覧表示するにはどうすればよいですか????
spring - Spring Boot アプリケーションの監視
スプリング ブート アプリケーションを監視するツールに取り組んでいます。私たちの環境では、約 15 の異なる Spring Boot アプリが実行されています。誰かがサーバーにログインしなくても、これらのアプリケーションのステータスを提供する UI を実装したいと考えています。Googleで簡単に検索すると、次のオプションが見つかりました。
- 春のブート管理者
- ディスカバリー クライアント/サーバー
私はこれらの両方の POC を実行しましたが、どちらも pom ファイルと構成プロパティに依存関係を追加するためにクライアント アプリケーション (監視対象) が必要なようです (検出には、検出クライアントがレジストリをスキャンするオプションがあるかもしれませんが、私はできませんでしたうまくいかない)。さて、maven の依存関係を追加することはできますが、多くのアプリがあるため、実際にはそうしたくありません。サーバー上で実行中のすべてのSpring Bootアプリを「魔法のように検出」し、それらをどこかに表示する別の方法はありますか?
前もって感謝します。
spring - スプリングアクチュエータメトリックを読み取ってリセットする方法は?
spring-boot.1.3.0
次のようにカスタムmetrics
をメモリに保存する機能を提供するを使用しています。
CounterService
質問: からカウントされた値をGaugeService
プログラムで読み取るにはどうすればよいですか?
spring - spring-data-mongodb から kerborized mongoDB に Kerberos トークンを渡す方法
私は Kerberos 化された MongoDB を使用しており、その kerberos 実装を使用してネイティブの Java/scala クライアントを使用して接続できます。ただし、spring-data-mongodb を使用して同じことを達成するための関連情報が見つかりません。
このリンクhttp://docs.spring.io/autorepo/docs/spring-security-kerberos/1.0.0.RC1/reference/htmlsingle/を見つけました。これはSpring Security kerberosの実装について説明していますが、spring-bootとは関係ありません-mongodb。
あなたの提案と役立つ指針を前もって感謝します。