4.3. Ldap ログインモジュール
短縮名: Ldap
フルネーム: org.jboss.security.auth.spi.LdapLoginModule
親 : UsernamePassword ログインモジュール
Ldap
ログインモジュールは、LDAP サーバーに対して認証を行うログインモジュール実装です。security
サブシステムは接続情報 java.naming.security.principal
を使用して、LDAP サーバーに接続します。この bindDN は、JNDI 初期コンテキストを使用した場合にユーザーおよびロールの baseCtxDN
および rolesCtxDN
ツリーを検索する権限があります。ユーザーが認証を試みると、Ldap
ログインモジュールは LDAP サーバーへ接続し、ユーザーのクレデンシャルを LDAP サーバーに渡します。
これらの認証情報は、principalDNPrefix
、ユーザー入力、および principalDNSuffix
を連結して形成されます。たとえば、以下のシナリオについて考えてみましょう。
-
principalDNPrefix
はuid=
に設定されます。 -
principalDNSuffix
は,ou=People,dc=jboss,dc=org
に設定されます。
ユーザー入力が jduke
に設定された場合、検索文字列は uid=jduke,ou=People,dc=jboss,dc=org
になります。ユーザーの入力が jduke,ou=Employees
ではなく、検索文字列は uid=jduke,ou=Employees,ou=People,dc=jboss,dc=org
になります。
ユーザー入力は、検索が実行される前に文字列に変換されます。そのため、検索が正常に機能するには、コンマなどの特殊文字をエスケープする必要があります。
認証に成功すると、JBoss EAP 内のそのユーザーに InitialLDAPContext
が作成され、ユーザーのロールが入力されます。
表4.2 LDAP ログインモジュールオプション
オプション | タイプ | デフォルト | 説明 |
---|---|---|---|
principalDNPrefix | String |
ユーザー DN を形成するためにユーザー名に追加される接頭辞。ユーザーにユーザー名を要求し、 | |
principalDNSuffix | String |
ユーザー DN を形成するためにユーザー名に追加される接尾辞。ユーザーにユーザー名を要求し、 | |
rolesCtxDN | 完全修飾 DN | none | ユーザーロールを検索するコンテキストの完全修飾 DN です。 |
userRolesCtxDNAttributeName | attribute | none |
ユーザーロールを検索するコンテキストの DN を含むユーザーオブジェクトの属性です。これは、ユーザーのロールを検索するコンテキストがユーザーごとに一意である可能性がある点で |
roleAttributeID | attribute | roles | ユーザーロールを含む属性の名前。 |
roleAttributeIsDN | true または false | false |
|
roleNameAttributeID | attribute | name |
ロール名が含まれる |
uidAttributeID | attribute | UID |
ユーザー ID に対応する |
matchOnUserDN | true または false | false |
ユーザーの完全識別名またはユーザー名のみで、ユーザーロールの検索と一致するかどうか。True の場合、完全なユーザー DN が一致値として使用されます。False の場合、ユーザー名のみが |
allowEmptyPasswords | true または false | false | 空のパスワードを許可するかどうか。ほとんどの LDAP サーバーは、空のパスワードを匿名ログイン試行として処理します。空のパスワードを拒否するには、これを false に設定します。 |
searchTimeLimit | Integer | 10000、10 秒 | ユーザーまたはロール検索のタイムアウト (ミリ秒単位)。 |
searchScope |
|
| 使用する検索結果を指定します。 |
jaasSecurityDomain | String | none |
|
LDAP サーバーへの接続および初期コンテキストの作成に関連するその他の LDAP コンテキストプロパティーの詳細は、LDAP 接続オプション を参照してください。
このログインモジュールは親 UsernamePassword Login Module から ignorePasswordCase オプションを継承しますが、特定のログインモジュールでは使用されません。