Можно ли получить выдавшего себя за пользователя при использовании NEW_CREDENTIALS - PullRequest
0 голосов
/ 11 февраля 2019

В моем проекте WebApi я выдаю себя за пользователя домена и все еще получаю Access Denied.Код олицетворения действительно прост:

SafeAccessTokenHandle token;

bool returnValue = LogonUser(usernmae, domain, password, (int)logonType, (int)logonProvider, out token);
if (returnValue == false)
{
    int ret = Marshal.GetLastWin32Error();
    throw new Win32Exception(ret);
}

using (token)
{
    WindowsIdentity.RunImpersonated(token, () => actionToExecute());
}

logonType - это NEW_CREDENTIALS, а logonProvider - это WINNT50.Я читал здесь и в других местах, что при использовании этого типа входа в систему маркер будет выдаваться только за олицетворенного пользователя, а поток все еще работает в контексте основной идентификации.

Я использую Process Monitor, чтобы проверить, почему япо-прежнему получить доступ запрещен.И я до сих пор вижу, что пользователь, имеющий доступ к общему сетевому ресурсу, IIS_APPPOOL\websitename.

Есть ли какой-нибудь API, чтобы проверить и убедиться, что на самом деле выдает себя за другого пользователя?

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