ValidateCredentials с компьютера без доступа - PullRequest
0 голосов
/ 22 января 2020

Я пишу. NET Приложение Core 3.1 на основе IdentityServer4. Я хочу реализовать логин с доменным логином \ паролем. Я проверяю учетные данные пользователя с помощью этого кода:

try
{
    using (var pc = new PrincipalContext(ContextType.Domain, domainName))
    {
        return pc.ValidateCredentials(username, password);
    }
}
catch (Exception e)
{
    throw new Exception("Error connecting to ActiveDirectory.", e);
}

Все в порядке, когда пользователь имеет доступ к компьютеру, на котором работает IIS Server. Но есть проблема в домене, в котором каждый пользователь имеет доступ только к своему компьютеру. В этой ситуации метод ValidateCredentials возвращает false.

Я реализовал проверку подлинности NTLM / Negotiate Windows, и в этом потоке проблем нет. Но этот тип проверки подлинности имеет ограничение: нет возможности войти в приложение под другим пользователем домена, кроме того, который в данный момент подключен к компьютеру.

Может кто-нибудь помочь мне, как проверить учетные данные пользователя без добавления доступа к IIS Server?

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