Platform SDK: Active Directory, ADSI, and Directory Services |
A referral is the mechanism that a directory server uses to direct a client to another server when it does not contain sufficient information about the object(s) requested by a query.
In a one-level or subtree search (see Search Scope), referrals are returned for known, immediately subordinate domain, schema or configuration containers only (that is, child domains that are direct descendants).
In a directory, not all information is available on a single server, rather, it is distributed over several different servers across the network. If the servers share the knowledge of the information that other servers can provide, they can provide referrals to a client when a requested query cannot be resolved on the originating server. For example, when a client asks Server A to query a user object (U), then A can suggest that the client continue the search on Server B if U does not reside on A, but is known to be on B. The client has the choice to pursue the referral or not. Search referrals free the client from possessing previous knowledge of the capability of each server. But the client must specify the type of referrals a server should make.
To enable referral chasing, use the ADS_SEARCHPREF_CHASE_REFERRALS preference with values from the ADS_CHASE_REFERRALS_ENUM enumeration. A client can choose any of the following four types of referral chasing:
The client can choose to contact Server B. If so, the following event occurs:
For more information, see Referrals.