스마트 참조를 사용하여 디렉토리 항목이나 디렉토리 트리를 특정 LDAP URL에 매핑할 수 있습니다. 스마트 참조를 통해 클라이언트 응용 프로그램에서 특정 서버나 특정 서버의 특정 항목을 참조하도록 설정할 수 있습니다.
스마트 참조는 동일한 DN을 가진 다른 서버의 실제 항목을 가리키는 경우가 많습니다. 하지만 동일한 서버나 다른 서버의 모든 항목에 대해 스마트 참조를 정의할 수 있습니다. 예를 들어 다음과 같은 DN을 가진 항목을 스마트 참조로 정의할 수 있습니다.
uid=bjensen,ou=People,dc=example,dc=com |
스마트 참조는 east.example.com 서버에서 다른 항목을 가리킵니다.
cn=Babs Jensen,ou=Sales,o=east,dc=example,dc=com |
디렉토리는 RFC 4511 섹션 4.1.10(http://www.ietf.org/rfc/rfc4511.txt )에 지정된 표준에 따라 스마트 참조를 사용합니다.
DSCC를 사용하여 이 작업을 수행할 수 있습니다. 자세한 내용은 디렉토리 서비스 제어 센터 인터페이스 및 DSCC 온라인 도움말을 참조하십시오.
스마트 참조를 만들려면 referral 및 extensibleObject 객체 클래스를 가진 항목을 만듭니다.
referral 객체 클래스는 LDAP URL이 포함되는 ref 속성을 허용합니다. extensibleObject 객체 클래스를 사용하면 이름 지정 속성과 같은 스키마 속성을 사용하여 대상 항목과 일치시킬 수 있습니다.
예를 들어 uid=bjensen 항목 대신 스마트 참조를 반환하도록 아래 항목을 정의하려면 다음 명령을 사용합니다.
$ ldapmodify -a -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - Enter bind password: dn: uid=bjensen,ou=People,dc=example,dc=com objectclass: top objectclass: extensibleObject objectclass: referral uid: bjensen ref: ldap://east.example.com/cn=Babs%20Jensen,ou=Sales,o=east,dc=example,dc=com |
LDAP URL에서 공백 뒤의 정보는 서버에서 무시되므로참조로 사용할 LDAP URL에는 공백 대신 %20을 사용해야 합니다. 다른 특수 문자는 이스케이프해야 합니다.
스마트 참조를 정의한 후에 uid=bjensen 항목을 수정하면 이 변경 사항이 실제로 다른 서버의 cn=Babs Jensen 항목에 적용됩니다. ldapmodify 명령은 다음과 같이 자동으로 참조를 수행합니다.
$ ldapmodify -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - Enter bind password: dn: uid=bjensen,ou=People,dc=example,dc=com changetype: replace replace: telephoneNumber telephoneNumber: (408) 555-1234 |
(옵션) 스마트 참조 항목을 수정하려면 ldapmodify의 -M 옵션을 사용합니다.
$ ldapmodify -M -h host1 -p 1389 -D cn=admin,cn=Administrators,cn=config -w - Enter bind password: dn: uid=bjensen,ou=People,dc=example,dc=com changetype: replace replace: ref ref: ldap://east.example.com/cn=Babs%20Jensen,ou=Marketing,o=east,dc=example,dc=com |