概要: Java でプロジェクト プロパティ (バージョンなど) にアクセスしようとしていますが、読んだところどこでも、build.gradle ファイルでプロパティを展開する必要があると書かれています。それはすべてうまくいきますが、私は LDAP を使用しており、プロパティ ファイルで構成しています。プロパティを展開しようとすると、常に LDAP エラー 49 52e (Invalid Credentials) が発生するため、プロパティを処理するために Gradle が行うことは、LDAP プロパティをゆがめ、使用できなくなっているようです。
プロジェクト情報: 以下に該当するプロジェクト情報と思われるものを概説しました。問題を特定するためにさらに詳細が必要な場合は、コメントしてください。追加します。
- 言語:
- グルービー 2.4
- Java 8
- フレームワーク:
- Spring Boot バージョン: スターター POM を使用した 1.3.1.RELEASE
- spring-boot-starter-security が含まれています
- spring-security-ldap が含まれています
- Spring Boot バージョン: スターター POM を使用した 1.3.1.RELEASE
- ビルドツール: Gradle
- バージョン 2.3
- Spring Boot Gradle プラグイン 1.3.1.RELEASE
- 適用されたプラグイン:
- かっこいい
- スプリングブーツ
ビルド情報:バージョンにアクセスするために build.gradle ファイルでいくつかの異なる構成を試しましたが、「processResources」ブロックを追加した瞬間、アプリケーションの実行時に LDAP にアクセスできなくなりました。アプリケーションは「processResources」ブロックなしで正常に実行および認証されますが、追加するとすぐに実行されますが、LDAP が無効な資格情報について不平を言っているため、何にもアクセスできません。3 つの異なる展開構成を試しましたが、すべてこのように動作しました。
ビルド構成の試行 1:
processResources {
expand(project.properties)
}
ビルド構成の試行 2:
processResources {
filesMatching('**/*.properties') { expand(project.properties) }
}
この時点で、プロパティー・ファイルで LDAP ログインを構成していることに気がついたので、おそらく解決策はプロパティー・ファイルを完全に避けることでした。必要なプロパティを展開するだけでよいことがわかったので、次のことを試しました。
ビルド構成試行 3:
processResources {
expand projectVersion: project.version
}
前に述べたように、上記の試行はすべて失敗しましたが、それぞれの試行で LDAP 認証エラーが発生しました。「procesResources」ブロックのない build.gradle ファイルは、LDAP を満足させる唯一の方法のようです。
プロパティ情報:前に述べたように、プロパティ ファイルで LDAP 情報を構成しました。以下は、関連するプロパティです。
アプリケーションのプロパティ
spring.profiles.active=localdev
ldap.securitygroup=DEV
logout.path=
host.securePort=
ご覧のとおり、私は localdev プロファイルを使用しているため、該当するプロパティを以下に含めました。機密情報が含まれていたため、プロパティ名のみを指定し、その値は指定しませんでした。空でない値が提供されたことを示すために、アスタリスク (*) を使用しました。(上記の application.properties ファイルでは、リストされているいくつかのプロパティの値は実際には空でした):
application-localdev.properties
host.securePort=*
ldap.username=*
ldap.password=*
ldap.base=DC=*,DC=*,DC=*
ldap.roleSearchBase=OU=*,DC=*,DC=*,DC=*
ldap.defaultUrl=ldap://*
ldap.urls=ldap://* ldap://*
プロパティはまったく変更されませんでした.build.gradleファイルにprocessResourcesブロックがなくてもすべて機能し、それらの3つのバージョンのいずれかを追加しても機能しませんでした.
このヘルプを理解するための支援をいただければ幸いです。さらに情報が必要な場合はお知らせください。これを更新します。