Я работаю над приложением UWP, которое будет работать на ноутбуках и планшетах Windows 10. Среда, в которой она будет развернута, требует, чтобы все пользователи входили в свои системы с помощью смарт-карты (поэтому без имени пользователя / пароля). Я использую HttpClient для подключения к REST API, который настроен для встроенной проверки подлинности Windows. Когда я работаю на своей машине для разработки, либо в VS, либо используя выходные данные Release Build, я могу без проблем подключиться к API. Однако когда этот выпуск Release Build установлен на другом компьютере (не разработчике), он не может подключиться к серверу. Сервер IIS возвращает сообщение об ошибке: «401 - неавторизован: доступ запрещен из-за неверных учетных данных. В журнале IIS появляется следующая запись:
"2019-07-03 15:49:57 X.X.X.X GET / api / - 80 - Y.Y.Y.Y - - myserver.com 401 2 5 31"
Мой сервер IIS настроен для разрешения олицетворения ASP.Net и проверки подлинности Windows, но без других методов проверки подлинности.
Соответствующий фрагмент кода:
using (HttpClient client =
new HttpClient(new HttpClientHandler()
{
PreAuthenticate = true,
UseDefaultCredentials = true,
Credentials = CredentialCache.DefaultNetworkCredentials
}))
{
client.BaseAddress = new Uri(RequestUri);
client.DefaultRequestHeaders
.Accept
.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = null;
try
{
response = await client.GetAsync(RequestUri);
}
....
Кто-нибудь может подсказать, что я делаю неправильно в конфигурации моего запроса?
ТИА
Рон Л