Как подключиться к LDAP-серверу, используя его учетные данные, используя c # - PullRequest
0 голосов
/ 21 декабря 2011

Я пытаюсь подключиться к серверу ldap, используя следующий код.

        Dim xd As New XmlDocument()
        Dim domainAndUsername As String = String.Empty
        Dim userName As String = String.Empty
        Dim passWord As String = String.Empty
        Dim at As AuthenticationTypes = AuthenticationTypes.Anonymous
        Dim sb As New StringBuilder()



        domainAndUsername = "LDAP://MARS-AD\kumaravi:J647d197@ISXDC101.DC.MARS:389/OU=EXD,OU=People,OU=EMEAI,OU=Mars,OU=IT-Services,DC=Mars-AD,DC=Net"
        userName = "username"
        passWord = "password"

        at = AuthenticationTypes.Secure

        'Create the object necessary to read the info from the LDAP directory
        Dim entry As New DirectoryEntry(domainAndUsername, userName, passWord, at)



        Dim mySearcher As New DirectorySearcher(entry)
        Dim results As SearchResultCollection
        mySearcher.Filter = filter

Выдает следующее сообщение об ошибке. «Сервер не работает».

1 Ответ

0 голосов
/ 21 декабря 2011

Если вы используете .NET 3.5 или новее, вы можете использовать PrincipalSearcher и принцип «запрос за примером» для выполнения поиска:

// create your domain context - this will automatically connect to the 
// current domain of your machine
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);

// define a "query-by-example" principal - here, we search for a UserPrincipal 
UserPrincipal qbeUser = new UserPrincipal(ctx);

// create your principal searcher passing in the QBE principal    
PrincipalSearcher srch = new PrincipalSearcher(qbeUser);

// find all matches
foreach(var found in srch.FindAll())
{
    // do whatever here - "found" is of type "Principal" - it could be user, group, computer.....          
}

Вы можете указать любой изсвойства UserPrincipal и используйте их как «запрос за примером» для вашего PrincipalSearcher.

Если вы еще этого не сделали - обязательно прочитайте статью MSDN Управление принципами безопасности каталога в.NET Framework 3.5 , который показывает, как наилучшим образом использовать новые функции в System.DirectoryServices.AccountManagement

...