PrincipalContext.ValidateCredentials перестает проверять после того, как развертывание IIS отлично работает в cassini - PullRequest
2 голосов
/ 15 ноября 2011

У меня есть следующий фрагмент кода, чтобы проверить имя пользователя и пароль в виде простого текста в AD, что прекрасно работает, если я нажму F5 в Visual Studio и попробую его через WCFTestClient, но как только я развернусь в IIS и попробую ту же функцию никогда не вернет true для ValidCredentials; Есть ли что-то разумное в отношении безопасности, которое необходимо установить для идентификатора, под которым работает пул приложений?

Я попытался установить удостоверение пула приложений для своей учетной записи (администратора домена), просто чтобы проверить, была ли это проблема, но это тоже не помогло, поэтому я немного растерялся, как это исправить.

На сайте (Custom API) настроен анонимный доступ.

try
{
    // create a "principal context" - e.g. your domain (could be machine, too) 
    using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, DomainName))
    {
        // validate the credentials
        if (pc.ValidateCredentials(UserName, Password))
        {
            IsValid = true;
            break;
        }
    }
}
catch (Exception)
{
    LoggingControler.LogWarning(null, "Unreachable Domain: " + Domain);
}

Я снова прошел через все, и это все из-за прав в Windows. Сетевой сервис почему-то не имеет достаточно прав для выполнения PrincipalContext.ValidateCredentials. Если я изменю идентификацию пула приложений на идентификацию администратора домена, код сработает.

Если кто-то может сказать мне, как настроить учетную запись ограниченного пользователя с соответствующими правами для выполнения PrincipalContext.ValidateCredentials, я могу закончить это.

Ответы [ 2 ]

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

Хорошо, я наконец нашла свой собственный ответ через https://stackoverflow.com/questions/5140377/query-activedirectory-sometimes-not-working-asp-net-c и https://elgg.leeds.ac.uk/webteam/weblog/15385.html

Как я обнаружил, ключ пула приложений "Сетевая служба" является ключом к этой проблеме ...

Добавление прав на чтение не сработало; так что все еще что-то не так.

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