第15章 LDAP 接続
Business Central は、ユーザータスクサービスがユーザー、グループ、ロールの情報を LDAP サービスから直接取得できるように、Red Hat Process Automation Manager で LDAP サーバー専用の UserGroupCallback
実装を提供します。
以下の LDAP UserGroupCallback
実装プロパティーは、設定可能です。
表15.1 LDAP UserGroupCallback プロパティー
プロパティー | 説明 |
---|---|
| LDAP サーバーへの接続に使用するユーザー名 指定がない場合はこのプロパティーは任意となり、LDAP サーバーは匿名アクセスを受け入れます。 |
| LDAP サーバーへの接続に使用するパスワード 指定がない場合はこのプロパティーは任意となり、LDAP サーバーは匿名アクセスを受け入れます。 |
| ユーザー情報を含む LDAP のコンテキスト |
| グループおよびロールの情報を含む LDAP のコンテキスト |
| ユーザーグループおよびロールのメンバーシップ情報を含む LDAP のコンテキスト
指定がない場合はこのプロパティーは任意となり、代わりに |
| ユーザー情報検索用のフィルター このプロパティーは通常、代入キー {0} が含まれており、パラメーターと置き換えられます。 |
| グループおよびロールの情報の検索フィルター このプロパティーは通常、代入キー {0} が含まれており、パラメーターと置き換えられます。 |
| ユーザーグループおよびロールのメンバーシップ情報を検索するためのフィルター このプロパティーは通常、代入キー {0} が含まれており、パラメーターと置き換えられます。 |
| LDAP に含まれるユーザー ID の属性名
指定がない場合はこのプロパティーは任意となり、代わりに |
| LDAP 内のグループおよびロール ID の属性名
指定がない場合はこのプロパティーは任意となり、代わりに |
|
DN のユーザー ID。ロールの検索前にユーザー DN をクエリーするようにコールバックを指示します。これは任意で、デフォルトは |
|
初期コンテキストファクトリークラス名。デフォルトは |
|
認証タイプ。可能な値は、 |
|
|
|
LDAP url (デフォルトは |
15.1. LDAP UserGroupCallback 実装
以下のいずれかの方法で、該当の LDAP プロパティーを設定して、LDAP UserGroupCallback
実装を使用できます。
プログラム: 該当の
LDAPUserGroupCallbackImpl
プロパティーでプロパティーのオブジェクトをビルドし、同じプロパティーオブジェクトをパラメーターとして使用し、LDAPUserGroupCallbackImpl
を作成します。以下に例を示します。
import org.kie.api.PropertiesConfiguration; import org.kie.api.task.UserGroupCallback; ... Properties properties = new Properties(); properties.setProperty(LDAPUserGroupCallbackImpl.USER_CTX, "ou=People,dc=my-domain,dc=com"); properties.setProperty(LDAPUserGroupCallbackImpl.ROLE_CTX, "ou=Roles,dc=my-domain,dc=com"); properties.setProperty(LDAPUserGroupCallbackImpl.USER_ROLES_CTX, "ou=Roles,dc=my-domain,dc=com"); properties.setProperty(LDAPUserGroupCallbackImpl.USER_FILTER, "(uid={0})"); properties.setProperty(LDAPUserGroupCallbackImpl.ROLE_FILTER, "(cn={0})"); properties.setProperty(LDAPUserGroupCallbackImpl.USER_ROLES_FILTER, "(member={0})"); UserGroupCallback ldapUserGroupCallback = new LDAPUserGroupCallbackImpl(properties); UserGroupCallbackManager.getInstance().setCallback(ldapUserGroupCallback);
宣言設定: アプリケーションのルートに
jbpm.usergroup.callback.properties
ファイルを作成するか、システムプロパティーとしてファイルの場所を指定します。以下に例を示します。
-Djbpm.usergroup.callback.properties=FILE_LOCATION_ON_CLASSPATH
ユーザータスクサーバーの起動時に LDAP コールバックを登録するようにしてください。
以下に例を示します。
#ldap.bind.user= #ldap.bind.pwd= ldap.user.ctx=ou\=People,dc\=my-domain,dc\=com ldap.role.ctx=ou\=Roles,dc\=my-domain,dc\=com ldap.user.roles.ctx=ou\=Roles,dc\=my-domain,dc\=com ldap.user.filter=(uid\={0}) ldap.role.filter=(cn\={0}) ldap.user.roles.filter=(member\={0}) #ldap.user.attr.id= #ldap.roles.attr.id=