Я создал приложение mvc asp.net с поддержкой утверждений, выполнив действия, описанные на этой странице: https://docs.microsoft.com/en-us/dotnet/framework/security/how-to-build-claims-aware-aspnet-mvc-web-app-using-wif. В примере на странице используется STS на локальном хосте, но в моем приложении я указываю наполнофункциональная AD FS на другом сервере.
Я использую Framework 4.7 и Windows Server 2016 для размещения AD FS и веб-приложения.
После развертывания приложения язапустил служебную программу Windows Identity Federation Utility (потому что я думал, что она мне нужна, чтобы добавить приложение в качестве доверяющей стороны в AD FS).Эта утилита вставляет в тег web.config множество тегов, которые ссылаются на пространство имен Microsoft.IdentityModel.
Затем я добавил приложение в качестве доверия проверяющей стороны в AD FS и перешел к приложению, поддерживающему утверждения,Страница потерпела неудачу, потому что в примере кода приведено утверждение, возвращенное STS как System.Security.Claims.Claim.Когда я изменил его на Microsoft.IdentityModel.Claims.Claim, он работал нормально.
В приведенном ниже примере не упоминается служебная программа федерации удостоверений Windows.Мне нужно это использовать?Или это сработало бы без него?
Когда я пытаюсь отменить изменения в файле web.config, когда утилита вставила сайт, происходит сбой с ошибкой 401 (доступ запрещен из-за неверных учетных данных), поэтому очевидно, что материал, вставленный утилитойнеобходим для аутентификации в AD FS.Это потому, что я запустил Утилиту на веб-сайте перед тем, как добавить ее в качестве доверяющей стороны в доверие к ADFS?