クラス LdapQueryBuilder
java.lang.ObjectSE
org.springframework.ldap.query.LdapQueryBuilder
- 実装されているすべてのインターフェース:
LdapQuery
LdapQueries のビルダー。
query() の呼び出しから開始し、基本的な検索構成 (検索ベース、時間制限など) の指定に進み、最後に実際のクエリを指定します。例:
import static org.springframework.ldap.query.LdapQueryBuilder.query;
...
LdapQuery query = query()
.base("dc=261consulting, dc=com")
.searchScope(SearchScope.ONELEVEL)
.timeLimit(200)
.countLimit(221)
.where("objectclass").is("person").and("cn").is("John Doe");
デフォルトの構成では、ベースパスは LdapUtils.emptyLdapName() です。他のすべてのパラメーターは未定義です。つまり、(ベース検索パラメーターの場合) LdapTemplate のデフォルトが使用されます。フィルター条件は常に指定する必要があります。
- 導入:
- 2.0
- 関連事項:
SearchControlsSELdapOperations.search(LdapQuery, org.springframework.ldap.core.AttributesMapper)LdapOperations.search(LdapQuery, org.springframework.ldap.core.ContextMapper)LdapOperations.searchForObject(LdapQuery, org.springframework.ldap.core.ContextMapper)LdapOperations.searchForContext(LdapQuery)
メソッドのサマリー
修飾子と型メソッド説明StringSE[]返す属性を取得します。attributes(StringSE... attributesToReturn) base()検索ベースを取得します。クエリのベース検索パスを設定します。クエリのベース検索パスを設定します。カウント制限を取得します。countLimit(int countLimit) クエリのカウント制限を設定します。filter()フィルターを取得します。ハードコードされたフィルターを指定します。指定されたパラメーターを使用して、ハードコードされたフィルターを指定します。使用するフィルターを指定します。static LdapQueryBuilder既存のLdapQueryに基づいて新しいLdapQueryBuilderを構築します。クエリにデフォルトのフィルターを与えることも含め、すべてのフィールドがコピーされます。static LdapQueryBuilderquery()新しい LdapQueryBuilder を作成します。検索範囲を取得します。searchScope(SearchScope searchScope) クエリの検索範囲を設定します。制限時間を取得します。timeLimit(int timeLimit) クエリの制限時間を設定します。このクエリでフィルター条件の指定を開始します。
メソッドの詳細
query
新しい LdapQueryBuilder を作成します。- 戻り値:
- 新しいインスタンス。
fromQuery
既存のLdapQueryに基づいて新しいLdapQueryBuilderを構築します。クエリにデフォルトのフィルターを与えることも含め、すべてのフィールドがコピーされます。すべてのフィルターの不変条件が引き続き適用されることに注意してください。アプリケーションは、フィルターを指定した後にフィルター以外の値を指定することはできません。
- 戻り値:
- 新しいインスタンス。
- 導入:
- 3.0
base
クエリのベース検索パスを設定します。デフォルトはLdapUtils.emptyLdapName()です。- パラメーター:
baseDn- ベース検索パス。- 戻り値:
- このインスタンス。
base
クエリのベース検索パスを設定します。デフォルトはLdapUtils.emptyLdapName()です。- パラメーター:
baseDn- ベース検索パス。- 戻り値:
- このインスタンス。
searchScope
クエリの検索範囲を設定します。デフォルトはSearchScope.SUBTREEです。- パラメーター:
searchScope- 検索範囲。- 戻り値:
- このインスタンス。
countLimit
クエリのカウント制限を設定します。デフォルトは 0 (無制限) です。- パラメーター:
countLimit- カウント制限。- 戻り値:
- このインスタンス。
attributes
timeLimit
クエリの制限時間を設定します。デフォルトは 0 (無制限) です。- パラメーター:
timeLimit- 制限時間。- 戻り値:
- このインスタンス。
where
このクエリでフィルター条件の指定を開始します。- パラメーター:
attribute- フィルターの最初の部分がテストする属性。- 戻り値:
- 比較操作を指定するための ConditionCriteria インスタンス。
- 例外:
IllegalStateExceptionSE- フィルターがすでに指定されている場合。
filter
ハードコードされたフィルターを指定します。このメソッドを使用すると、フィルター文字列は検証またはエスケープされないことに注意してください。直接のユーザー入力は使用せず、文字列を連結して LDAP フィルターとして使用します。そうすることで、「LDAP インジェクション」が可能になり、悪意のあるユーザーが特別に構築されたデータを挿入して、都合の良いときにフィルターを形成する可能性があります。ユーザー入力を使用する場合は、代わりにwhere(String)、filter(String, Object...)、またはfilter(Filter)の使用を検討してください。- パラメーター:
hardcodedFilter- 検索で使用するハードコードされたフィルター文字列。- 戻り値:
- このインスタンス。
- 例外:
IllegalStateExceptionSE- フィルターがすでに指定されている場合。
filter
使用するフィルターを指定します。- パラメーター:
filter- 検索で使用するフィルター。- 戻り値:
- このインスタンス。
- 例外:
IllegalStateExceptionSE- フィルターがすでに指定されている場合。
filter
指定されたパラメーターを使用して、ハードコードされたフィルターを指定します。パラメーターはLdapEncoder.filterEncode(String)を使用して適切にエンコードされ、悪意のあるデータが通過しないようにします。filterFormat文字列は、MessageFormat.format(String, Object...)SE への入力用にフォーマットする必要があります。- パラメーター:
filterFormat-MessageFormat.format(String, Object...)SE への入力用にフォーマットされたフィルターフォーマット文字列。params- 最終的なフィルターを構築するために使用されるパラメーター。すべてのパラメーターは適切にエンコードされます。- 戻り値:
- このインスタンス。
- 例外:
IllegalStateExceptionSE- フィルターがすでに指定されている場合。
base
インターフェースからコピーされた説明:LdapQuery検索ベースを取得します。デフォルトはLdapUtils.emptyLdapName()です。searchScope
インターフェースからコピーされた説明:LdapQuery検索範囲を取得します。デフォルトはnullで、LdapTemplate デフォルトを使用する必要があることを示します。- 次で指定:
- インターフェース
LdapQueryのsearchScope - 戻り値:
- 検索範囲。
countLimit
インターフェースからコピーされた説明:LdapQueryカウント制限を取得します。デフォルトはnullで、LdapTemplate デフォルトを使用する必要があることを示します。- 次で指定:
- インターフェース
LdapQueryのcountLimit - 戻り値:
- カウント制限。
timeLimit
インターフェースからコピーされた説明:LdapQuery制限時間を取得します。デフォルトはnullで、LdapTemplate デフォルトを使用する必要があることを示します。attributes
インターフェースからコピーされた説明:LdapQuery返す属性を取得します。デフォルトはnullで、すべての属性を返す必要があることを示します。- 次で指定:
- インターフェース
LdapQueryのattributes - 戻り値:
- 返す属性。
filter
インターフェースからコピーされた説明:LdapQueryフィルターを取得します。