Show contents 

Metabase > Metabase Assembly Interfaces > ISecuritySubjectsSearch > ISecuritySubjectsSearch.DomainCredentials

ISecuritySubjectsSearch.DomainCredentials

Syntax

DomainCredentials: IDomainCredentials;

Description

The DomainCredentials property determines the credentials, under which domain authentication is performed on search.

Example

To execute the example, add a link to the Metabase system assembly.

Sub UserProc;
Var
    MB: IMetabase;
    Pack: ISecurityPackage;
    DomainCreds: IDomainCredentials;
    Search: ISecuritySubjectsSearch;
    Subjects: ISecuritySubjects;
    Subject: ISecuritySubject;
Begin
    // Get the current repository
    MB := MetabaseClass.Active;
    Search := MB.Security.NewSubjectsSearch;
    // Determine domain name
    Search.NameCriteria := "TestDomain\*";
    // Determine types of security subjects that should be found
    Search.SubjectCriteria(SecuritySubjectType.User) := True;
    Search.SubjectCriteria(SecuritySubjectType.Group) := True;
    Search.AreaIncludeDB := False;
    Search.AreaIncludeNT := True;
    // Set security subject search parameters in domain
    Pack := New StandardSecurityPackage.Create;
    // Use credentials of the current user who was authorized in domain
    DomainCreds := Pack.CreateCredentials(AuthenticationMode.Domain) As IDomainCredentials;
    DomainCreds.LogonAsCurrentUser := True;
    Search.DomainCredentials := DomainCreds;
    Search.DomainSelectCriteria := DomainSelectType.SpecifiedDomain;
    Search.ProtocolSelectCriteria := ProtocolSelectType.GC;
    // Find security subjects
    Search.ExecuteSearch;
    Subjects := Search.Subjects;
    If Subjects.Count > 0 Then
        For Each Subject In Subjects Do
            Debug.WriteLine("Distinguished Name: " + Subject.DistinguishedName);
            If Subject.Type = SecuritySubjectType.User Then
                Debug.WriteLine("Domain User Name: " + Subject.UserPrincipalName);
            End If;
        End For;
    End If;
End Sub UserProc;

On executing the example all security subjects registered in the TestDomain domain are searched. Different names for the found subjects are displayed in the development environment console. Domain names are also displayed for domain users.

See also:

ISecuritySubjectsSearch