Аутентификация пользователя 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.
Редактировать: Я активировал режим олицетворения и назначил веб-приложение пулу приложений с классическим режимом, но результат все равно тот же.