LDAPS DirectorySearcher.FindOne выдает исключение - PullRequest
0 голосов
/ 21 мая 2018

Я пытаюсь проверить пользователя с помощью защищенного запроса LDAP.Мой код вызывает исключение при вызове

SearchResult result = search.FindOne;

Полный код:

public bool IsValidUser(object username)
{
    isValidUser = false;

    try
    {
        DirectoryEntry AD = new DirectoryEntry("LDAP://office:636/", "myaccount", "mypassword");
        AD.AuthenticationType = AuthenticationTypes.SecureSocketsLayer;

        DirectorySearcher search = new DirectorySearcher(AD);
        search.SearchRoot = AD;
        search.SearchScope = SearchScope.Subtree;

        if (username == DBNull.Value == false & username != "")
        {
            search.Filter = "(&(objectClass=user) (sAMAccountName=" + username + "))";
            SearchResult result = search.FindOne();

            if ((result == null))
                isValidUser = false;
            else
                isValidUser = true;
        }
        else
            isValidUser = false;
    }
    catch (Exception ex)
    {
       // log(ex);
    }

    return isValidUser;
}

Если я не предоставлю номер порта 636, он будет работать нормально, но я не думаю, что LDAPсделано в защищенной сети.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...