@RetentionSE(valueSE=RUNTIMESE) @TargetSE(valueSE=TYPESE) public @interface LdapIdentityStoreDefinition
IdentityStore
を定義するために使用されるアノテーション。これは、呼び出し元の資格情報と ID 属性(まとめて呼び出し元の ID)を LDAP ストアに格納し、その実装を有効な CDI Bean として利用できるようにします。 コンテナーが提供する IdentityStore
は、UsernamePasswordCredential
の検証をサポートする必要があり、他の資格型の検証をサポートする場合があります。
修飾子と型 | オプションの要素と説明 |
---|---|
StringSE | bindDn LDAP への初期接続を確立し、検索とルックアップを実行するために使用されるアプリケーションまたは管理ユーザーの識別名。 |
StringSE | bindDnPassword bindDn メンバーによって定義されたアプリケーション / 管理者ユーザーのパスワード。 |
StringSE | callerBaseDn LDAP ストア内の呼び出し元の基本識別名( " ou=caller,dc=eclipse,dc=net " など)。 |
StringSE | callerNameAttribute 個人オブジェクトの発信者名を含む属性の名前(例: " uid " )。 |
StringSE | callerSearchBase 発信者を検索するための検索ベース( " ou=caller,dc=eclipse,dc=net " など)。 |
StringSE | callerSearchFilter callerSearchBase が設定されている場合に発信者を見つけるための検索フィルター。 |
LdapIdentityStoreDefinition.LdapSearchScope | callerSearchScope 呼び出し元検索の検索範囲: LDAP ツリーでの検索の深さを決定します。 |
StringSE | callerSearchScopeExpression callerSearchScope を Jakarta Expression Language 式として指定できるようにします。 |
StringSE | groupMemberAttribute グループのメンバーを識別するグループオブジェクト内の属性の名前(例: " member " )。 |
StringSE | groupMemberOfAttribute 発信者が属するグループを識別する個人オブジェクトの属性の名前(例: " memberOf " )。 |
StringSE | groupNameAttribute グループ名を表すグループオブジェクトの属性の名前 (例: " cn " ) |
StringSE | groupSearchBase グループを検索するための検索ベース( " ou=group,dc=eclipse,dc=net " など)。 |
StringSE | groupSearchFilter groupSearchBase が設定されている場合にグループを検索するための検索フィルター。 |
LdapIdentityStoreDefinition.LdapSearchScope | groupSearchScope グループ検索の検索範囲は、LDAP ツリーでの検索の深さを決定します。 |
StringSE | groupSearchScopeExpression groupSearchScope を Jakarta Expression Language 式として指定できるようにします。 |
int | maxResults 検索にレスポンスしてサーバーが返す結果(オブジェクト)の最大数を設定します。 |
StringSE | maxResultsExpression maxResults を Jakarta Expression Language 式として指定できるようにします。 |
int | priority 複数の IdentityStores が見つかった場合の順序を決定します。 |
StringSE | priorityExpression 優先度を Jakarta Expression Language 式として指定できるようにします。 |
int | readTimeout LDAP サーバーが結果を返すのを待つときに使用するタイムアウト値を設定します。 |
StringSE | readTimeoutExpression readTimeout を Jakarta Expression Language 式として指定できるようにします。 |
StringSE | url LDAP サーバーにアクセスできる URL。 |
IdentityStore.ValidationType[] | useFor ID ストアの用途を決定します |
StringSE | useForExpression useFor を Jakarta Expression Language 式として指定できるようにします。 |
public abstract StringSE url
E.g .: ldap://localhost:33389
public abstract StringSE bindDn
この値は、発信者またはグループの検索が行われる場合に必要です。ストアが直接バインディングを使用して発信者を認証するためにのみ使用される場合、この値は必要ありません (callerBaseDn を参照)。
このユーザーには、LDAP での個人やグループの検索権限が必要です。
E.g .: uid=ldap,ou=apps,dc=eclipse,dc=net
public abstract StringSE bindDnPassword
public abstract StringSE callerBaseDn
ou=caller,dc=eclipse,dc=net
" など)。このメンバー値が指定され、callerSearchBase が指定されていない場合は、直接バインディングが試行されます。
ランタイムが、呼び出し元の完全な DN を作成するためにベース DN と連結するために必要な「リーフ」 RDN を作成できるように、この属性とともに callerNameAttribute を指定する必要があります。
public abstract StringSE callerNameAttribute
uid
" )。この属性は、callerBaseDn とともに、直接バインド用の発信者 DN を構築するために使用されます。また、検索を使用して発信者オブジェクトを検索するときに、発信者の名前を取得するためにも使用されます。
この属性の値は、資格情報の検証が成功した場合の呼び出し元のプリンシパル名として返されます。
以下に、ldif 形式の例を示します。
dn: uid=peter,ou=caller,dc=eclipse,dc=net
objectclass: top
objectclass: uidObject
objectclass: person
uid: peter
cn: Peter Smith
sn: Peter
userPassword: secret1
public abstract StringSE callerSearchBase
ou=caller,dc=eclipse,dc=net
" など)。構成されている場合は、callerBaseDn を上書きして、直接バインディングの代わりに発信者検索を使用するようにします。bindDn メンバーを入力する必要があります。
public abstract StringSE callerSearchFilter
public abstract LdapIdentityStoreDefinition.LdapSearchScope callerSearchScope
public abstract StringSE callerSearchScopeExpression
public abstract StringSE groupSearchBase
ou=group,dc=eclipse,dc=net
" など)。グループ検索を実行するストアにのみ必要です。bindDn メンバーを入力する必要があります。
public abstract StringSE groupSearchFilter
public abstract LdapIdentityStoreDefinition.LdapSearchScope groupSearchScope
public abstract StringSE groupSearchScopeExpression
public abstract StringSE groupNameAttribute
cn
" )public abstract StringSE groupMemberAttribute
member
" )。この属性の値は、呼び出し元の完全な DN である必要があります。以下に、ldif 形式のエントリの例を示します。
dn: cn=foo,ou=group,dc=eclipse,dc=net
objectclass: top
objectclass: groupOfNames
cn: foo
member: uid=pete,ou=caller,dc=eclipse,dc=net
member: uid=john,ou=caller,dc=eclipse,dc=net
public abstract StringSE groupMemberOfAttribute
memberOf
" )。 この属性は、a) グループ検索が構成されていない (つまり、groupSearchBase と groupSearchFilter が構成されていない) 場合にのみ使用されます。また、b) 認証情報検証フェーズ中に、検証とグループ検索の両方を実行する ID ストアによってグループが返されているか、IdentityStore.getCallerGroups(CredentialValidationResult)
メソッドに渡される CredentialValidationResult
で DN が使用可能であるため、呼び出し元の DN が使用可能です。
この属性の値は、グループの完全な DN である必要があります。以下に、ldif 形式のエントリの例を示します。
dn: uid=peter,ou=caller,dc=eclipse,dc=net
objectclass: top
objectclass: uidObject
objectclass: person
uid: peter
cn: Peter Smith
memberOf: cn=foo,ou=group,dc=eclipse,dc=net
memberOf: cn=bar,ou=group,dc=eclipse,dc=net
public abstract int readTimeout
デフォルト値の 0 は、永久に待機することを意味します(接続自体がタイムアウトしないと想定)。
public abstract StringSE readTimeoutExpression
public abstract int maxResults
デフォルト値は 1000 に設定されています。これは、ほとんどの LDAP サーバーが 1 回のレスポンスで返す結果の最大数に対応します。ほとんどの LDAP サーバーは、1000 を超える結果セットを介したページングをサポートしていますが、通常の検証およびグループルックアップのユースケースでは、そうする必要はほとんどありません。組み込みの LDAP IdentityStore の実装は、より大きな結果セットを介したページングをサポートする場合がありますが、必須ではありません。
public abstract StringSE maxResultsExpression
public abstract StringSE priorityExpression
public abstract IdentityStore.ValidationType[] useFor
public abstract StringSE useForExpression
Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.