2.3. ($dn) マクロの例
($dn)
マクロは、置換値を LDAP リクエストからのエントリーと比較します。たとえば、LDAP リクエストは次のエントリーを対象としています。
cn=all,ou=groups,dc=subdomain1,dc=hostedCompany1,dc=example,dc=com
ACI は、次のターゲットを定義します。
(target="ldap:///ou=groups,($dn),dc=example,dc=com")
この例では、($dn)
マクロは dc=subdomain1,dc=hostedCompany1
と一致します。
ACI のサブジェクトが ($dn)
マクロを使用する場合、ターゲットに一致するサブストリングによりサブジェクトが展開されます。
aci: (target="ldap:///ou=*,($dn),dc=example,dc=com") (targetattr = "*") (version 3.0; acl "Domain access"; allow (read,search) groupdn="ldap:///cn=domainAdmins,ou=groups,($dn),dc=example,dc=com";)
ACI は次のように展開されます。
aci: (target="ldap:///ou=groups,dc=subdomain1,dc=hostedCompany1, dc=example,dc=com") (targetattr = "*") (version 3.0; acl "Domain access"; allow (read,search) groupdn="ldap:///cn=domainAdmins,ou=groups, dc=subdomain1,dc=hostedCompany1,dc=example,dc=com";)
マクロが展開された後、Red Hat Directory Server は通常のプロセスに従って ACI を評価し、アクセスが許可されているか判断します。