Patrick-Et. B. Ответов: 0

Аутентификация пользователя windows через IIS в стороннем API


Я подключаюсь к веб-API через аутентификацию windows. Собственный метод этого API использует
CredentialCache.DefaultCredentials
для аутентификации пользователей в их приложении. Теперь я разработал сайт бронирования, чтобы использовать данные API и записывать их обратно в приложение. Я хочу аутентифицировать пользователей через свой сайт, но не могу заставить его работать. Я всегда проверки подлинности пользователей выполняется пул приложений IIS для веб-сайта.

Что я уже пробовал:

Веб-сайт является aspx и
Page.User.Identity.Name
возвращает домен и пользователя, который его посещает. Я попытался олицетворить запрос на стороне клиента текущего пользователя. Я использую проверку подлинности windows в качестве метода проверки подлинности в IIS.

WindowsImpersonationContext impersonationContext;
               using (impersonationContext = ((WindowsIdentity)Page.User.Identity).Impersonate())
               {
                   conn = ServiceConnection.CreateWithWindowsAuthentication(new Uri("http://myWebsite"), CredentialCache.DefaultCredentials);
               }
               impersonationContext.Undo();


Я отключил олицетворение на стороне IIS, потому что оно не загружает страницу из-за интегрированного конвейерного режима, который я не могу отключить, потому что приложение должно получить доступ к локальным файлам конфигурации. На данный момент мне не удалось изменить олицетворенного пользователя или получить идентификатор IIdentity, используемый для моих ICredentials.

Редактировать: Я активировал режим олицетворения и назначил веб-приложение пулу приложений с классическим режимом, но результат все равно тот же.

0 Ответов