У меня есть .NET Core 2.1 на проекте.Я использую аутентификацию Windows для приложения в интрасети.Я могу получить аутентифицированного пользователя в моем контроллере, используя:
return Ok("User:" + User.Identity.Name);
Мне нужен доступ к сетевому ресурсу для чтения списка файлов.Документы MS говорят о том, что Core не использует олицетворение, как старая платформа, но предлагает метод RunImpersonated.
WindowsIdentity.RunImpersonated(user.AccessToken, () =>
{
// user.Name gets the Windows user here
foreach (string fileFound in Directory.EnumerateFiles(fileLocation)
{
fileList.Add(// Found File Data);
}
});
Я получаю ошибку неавторизованного пользователя при запуске кода.Мой пользователь Windows имеет доступ к этому местоположению.
IIS настроен с аутентификацией Windows, но он работает с ApplicationPoolIdentity.
Любая помощь / мысли будут оценены!