4.2.3 DocumentSpace構成定義ファイルの記述例

DocumentSpace構成定義ファイルの記述例を,次に示します。

<この項の構成>
(1) 前提条件
(2) 定義例
(3) 認証,ユーザ情報の取得例

(1) 前提条件

定義例は次の前提条件に従っていることとします。

(2) 定義例

前提条件に基づいたDocumentSpace構成定義ファイルの定義例を次に示します。

[DocSpace]
Count = 1

[Entry0001]
Process = 1
SerialId = 673d2be0-d1fd-11d0-ab59-08002be29e1d
DbType = HIRDB
PdHost = d_ks5g
PdNamePort = 20570
PdUser = "hirdb"/"hirdb"
XdkShmemManage = NORMAL
SessionMax = 32
SessionTimeOut = 15
ACLogUse = No
ACLogLevel = Error
ErrChkFlagOfObjectOperation = 0x0000017f
EnbFncFlagOfObjectOperation = 0x0000007f

UserAuthentication = LDAPEX
LdapHost = 123.45.67.78
LdapPort = 389
LdapUserRoot = o = hitachi,c = jp
LdapGroup = Yes
LdapGroupFromUserAttr = Yes
LdapUserScope = Subtree
LdapUserTimeout = 60
LdapGroupTimeout = 60
LdapUserClass = inetOrgPerson
LdapUserId = uid
LdapUserFilterLeft = (
LdapUserFilterRight = )
LdapUserCase = Default
LdapGroupFromUserDn = Yes
LdapGroupClass = hdsgroupOfUniqueNames
LdapGroupId = groupOfUniqueNamesId
LdapGroupRoot = o = hitachi,c = jp
LdapGroupFilterLeft = (
LdapGroupFilterRight = )
LdapGroupIdFromUserAttr = ou
LdapGroupIsDnFromUserAttr = No
LdapGroupIdAttrFromUserAttr = ou
LdapGroupIdFromUserDn = ou
LdapGroupCase = Default
LdapBindUserDN = uid=Tanaka,ou=People,o=hitachi,c=jp
LdapBindPassword = password

(3) 認証,ユーザ情報の取得例

ここでは,例で示したDocumentSpace構成定義ファイルを使用した場合のユーザ認証とユーザ情報の取得について説明します。なお,説明ではログイン名は「s891711」であると仮定します。

認証
UserAuthenticationエントリがLDAPEXであるため,DocumentBrokerは次のような検索条件に適合するユーザのエントリを検索します。
検索基点
LdapUserRootエントリで指定されている「o=hitachi,c=jp」です。
検索範囲
LdapUserScopeエントリに「Subtree」が指定されているので検索基点からのすべてのサブツリーが検索範囲となります。
検索フィルタによる検索条件
LdapUserFilterLeftエントリ,LdapUserClassエントリ,LdapUserIdエントリおよびLdapUserFilterRightエントリの指定によって,「(&(objectclass=inetOrgPerson)(uid=s891711))」となります。
この検索によって見つかったエントリのuserpassword属性の値と入力されたパスワードを比較して,一致すれば認証成功になります。
ユーザ情報取得
LdapGroupエントリがYesであるため,グループのエントリを検索します。この場合,次のような検索条件を用いて検索します。
検索基点
LdapGroupRootエントリで指定されている「o=hitachi,c=jp」です。
検索範囲
LdapGroupScopeエントリに「Subtree」が指定されているので検索基点からのすべてのサブツリーが検索範囲となります。
検索条件
LdapGroupFilterLeftエントリ,LdapGroupClassエントリおよびLdapGroupFilterRightエントリの指定によって,「(&(objectclass=hdsgroupOfUniqueNames)(uniqueMember=uid=s891711,ou=people,o=hitachi,c=jp))」となります。
この検索によって見つかったエントリのgroupOfUniqueNamesId属性(LdapGroupIdエントリで指定されている属性)の値「g1」をグループ識別子として取得します。
LdapGroupFromUserAttrエントリがYesであるため,ユーザの属性値からグループ情報を取得します。この場合,ユーザのou属性(LdapGroupIdFromUserAttrエントリで指定されている属性)の値は「unit1」および「unit」ですが,LdapGroupIsDnFromUserAttrエントリがNoであるため,その値をそのままグループ識別子として取得します。
LdapGroupFromUserDnエントリがYesであるため,ユーザのdnからグループ情報を取得します。この場合,ユーザのdn:uid=s891711,ou=people,o=hitachi,c=jpのou(LdapGroupIdFromUserDnエントリで指定したDNのキー)の値「people」をグループ識別子として取得します。
このような検索結果から「g1」,「unit1」,「unit」および「people」をこのユーザのグループ識別子として取得できます。