A.3. 含まれるセキュリティーマッピングモジュール
| コード | クラス |
|---|---|
| PropertiesRoles | org.jboss.security.mapping.providers.role.PropertiesRolesMappingProvider |
| SimpleRoles | org.jboss.security.mapping.providers.role.SimpleRolesMappingProvider |
| DeploymentRoles | org.jboss.security.mapping.providers.DeploymentRolesMappingProvider |
| DatabaseRoles | org.jboss.security.mapping.providers.role.DatabaseRolesMappingProvider |
| LdapRoles | org.jboss.security.mapping.providers.role.LdapRolesMappingProvider |
| LdapAttributes | org.jboss.security.mapping.providers.attribute.LdapAttributeMappingProvider |
DeploymentRolesMappingProvider
jboss-web.xml および jboss-app.xml デプロイメント記述子で実行できるプリンシパルからロールへのマッピングを考慮するロールマッピングモジュール。
例A.1 例
org.jboss.security.mapping.providers.DeploymentRoleToRolesMappingProvider
jboss-web.xml および jboss-app.xml デプロイメント記述子で実行可能なプリンシパルからロールへのマッピングを考慮する Role to Roles マッピングモジュール。この場合、principal-name は他のロールをマップするロールを示します。
例A.2 例
org.jboss.security.mapping.providers.OptionsRoleMappingProvider
オプションからロールを選択し、渡されたグループにロールを追加するロールマッピングプロバイダー。ロール名(キー)のプロパティースタイルのマッピングを、ロール(値)のコンマ区切りリストで取ります。
org.jboss.security.mapping.providers.principal.SimplePrincipalMappingProvider
SimplePrincipal を取り、異なるプリンシパル名で SimplePrincipal を変換するプリンシパルマッピングプロバイダー。
DatabaseRolesMappingProvider
データベースからロールを読み取る MappingProvider。
dsJndiName: ロールをユーザーにマップするために使用されるデータソースの JNDI 名。rolesQuery: このオプションは、「select RoleName from Roles where User=?」と同等の準備済みステートメントである必要があります。suspendResume: boolean - ロールの検索の実行中に、現在のスレッドに関連するトランザクションを一時停止および後で再開します。transactionManagerJndiName: トランザクションママガーの JNDI 名(デフォルトは java:/TransactionManager)
LdapRolesMappingProvider
ロールを検索するため LDAP サーバーを使用してロールを割り当てるマッピングプロバイダー。
bindDN: ユーザーおよびロールクエリーのために LDAP サーバーに対してバインドするために使用される DN。この DN には、baseCtxDN および rolesCtxDN の値に読み取りおよび検索パーミッションが必要です。bindCredential: bindDN のパスワードこれは、jaasSecurityDomain が指定されている場合は暗号化できます。rolesCtxDN: ユーザーロールを検索するコンテキストの固定 DN。これは、実際のロールがである DN ではなく、ユーザーロールを含むオブジェクトがある DN です。たとえば、Microsoft Active Directory サーバーでは、これは、ユーザーアカウントが存在する DN です。roleAttributeID: 承認ロールの名前が含まれる LDAP 属性。roleAttributeIsDN:roleAttributeIDにロールオブジェクトの完全修飾 DN が含まれるかどうか。False の場合、ロール名はコンテキスト名のroleNameAttributeId属性の値から取得されます。Microsoft Active Directory などの特定のディレクトリースキーマでは、この属性をtrueに設定する必要があります。roleNameAttributeID: ロール名を含むroleCtxDNコンテキスト内の属性の名前。RoleAttributeIsDNプロパティーがtrueに設定されている場合、このプロパティーはロールオブジェクトの name 属性を見つけるために使用されます。parseRoleNameFromDN: クエリーによって返された DN に roleNameAttributeID が含まれるかどうかを示すフラグ。trueに設定すると、DN は roleNameATtributeID についてチェックされます。falseに設定すると、DN は roleNameAttributeID に対してチェックされません。このフラグは LDAP クエリーのパフォーマンスを向上できます。roleFilter: 認証済みユーザーと関連付けられたロールを検索するために使用される検索フィルター。{0}式を使用しているフィルターに、入力ユーザー名またはログインモジュールコールバックから取得したuserDNが置換されます。{1}が使用されると、認証されたuserDNがフィルターに置き換わります。入力ユーザー名に一致する検索フィルターの例は(member={0})です。認証済みuserDNに一致する他の例は(member=gitops)です。roleRecursion: ロール検索が一致するコンテキストで行われる再帰のレベル数。再帰を無効にするには、これを0に設定します。searchTimeLimit: ユーザー/ロール検索のタイムアウト(ミリ秒単位)。デフォルトは 10000(10 秒)です。searchScope: 使用する検索範囲。
PropertiesRolesMappingProvider
「username=role1,role2,...」という形式でプロパティーファイルからロールを読み取る MappingProvider。
rolesProperties: プロパティーフォーマットされたファイル名。JBoss 変数の拡張は、${jboss.variable} の形式で使用できます。
SimpleRolesMappingProvider
オプションマップからロールを読み取る簡単な MappingProvider。option 属性名はロールを割り当てるプリンシパルの名前で、属性値はプリンシパルに割り当てるコンマ区切りのロール名です。
例A.3 例
<module-option name="JavaDuke" value="JBossAdmin,Admin"/> <module-option name="joe" value="Users"/>
<module-option name="JavaDuke" value="JBossAdmin,Admin"/>
<module-option name="joe" value="Users"/>
org.jboss.security.mapping.providers.attribute.DefaultAttributeMappingProvider
モジュールをチェックし、マッピングコンテキストからプリンシパル名を見つけ、principalName + ".email" という名前のモジュールオプションから属性電子メールアドレスを作成し、それを指定のプリンシパルへマップします。
LdapAttributeMappingProvider
LDAP からサブジェクトに属性をマッピングします。オプションには、LDAP JNDI プロバイダーがサポートするオプションが含まれます。
例A.4 標準のプロパティー名の例
bindDN: ユーザーおよびロールクエリーのために LDAP サーバーに対してバインドするために使用される DN。この DN には、baseCtxDN および rolesCtxDN の値に読み取りおよび検索パーミッションが必要です。bindCredential: bindDN のパスワードこれは、jaasSecurityDomain が指定されている場合は暗号化できます。baseCtxDN: ユーザー検索を開始するコンテキストの固定 DN。baseFilter: 認証するユーザーのコンテキストの検索に使用する検索フィルター。{0}式を使用しているフィルターに、入力ユーザー名またはログインモジュールコールバックから取得したuserDNが置換されます。この置換動作は、標準の__DirContext.search(Name, String, Object[], SearchControls cons)__メソッドから取得されます。一般的な検索フィルターの例は(uid={0})です。searchTimeLimit: ユーザー/ロール検索のタイムアウト(ミリ秒単位)。デフォルトは 10000(10 秒)です。attributeList: ユーザーの属性のコンマ区切りリスト。たとえば、mail,cn,sn,employeeType,employeeNumber です。jaasSecurityDomain:java.naming.security.principalの復号化に使用する JaasSecurityDomain。パスワードの暗号化形式はJaasSecurityDomain#encrypt64(byte[])メソッドによって返されます。org.jboss.security.plugins.PBEUtilsを使用して、暗号化されたフォームを生成することもできます。