Ошибка при доступе к Active Directory из веб-службы на производственном сервере - PullRequest
1 голос
/ 02 марта 2011

Я получил следующее сообщение об ошибке при подключении к Active Directory для получения информации о пользователе через веб-службу.

Указанный домен либо не существует, либо с ним невозможно связаться.

Однако, если я запускаю веб-сервис локально, это нормально, и я могу получить информацию о пользователе из веб-сервиса.

Если я запускаю следующие коды обычным способом (не веб-сервис), этоработает нормально.Проблема возникает только в том случае, если я изменил ее на веб-службу.Любой совет?Спасибо.

[WebMethod]
public string[] GetADUserInfo(string SAMAccount)
{    
        DirectoryEntry entry = new DirectoryEntry("LDAP://xxxx", "username", "pwd");

        try
        {
            string Filter = String.Format("(&(objectClass=user)(sAMAccountName={0}))", SAMAccount);

            string[] properties = new string[] { "employeeid", "cn" };
            DirectorySearcher Dsearch = new DirectorySearcher(entry, Filter, properties);

            SearchResult result = Dsearch.FindOne();

            xxxxxxx
            xxxxxxx
        }
        catch (Exception ex)
        {
            Debug.Write("Err in GetADUserInfo : " + ex.Message);
        }


    return {"a","b"};
}

1 Ответ

0 голосов
/ 02 марта 2011

Я только что узнал ответ. Ранее моя строка LDAP была LDAP: // DC = aa, DC = bb, DC = cc

Вместо этого я изменил его, чтобы использовать имя домена, и оно выглядит следующим образом:

LDAP: //mydomain.com/DC=aa,DC=bb,DC=cc

Я не уверен, что это правильный путь или нет. Но это работает для меня. Предложения и советы приветствуются.

...