Назад | Перейти на главную страницу

Ошибки сертификата в среде разработки ADFS 2.0 + ASP.NET с двумя или более доменами

Я пытаюсь настроить среду разработки веб-приложений с учетом требований. Я новичок в ADFS 2.0 и в конечном итоге хочу иметь возможность аутентифицироваться в двух разных доменах. Я думаю, что я очень близко, но я получаю сообщение об ошибке сертификата от одного из серверов ADFS.

Во время обработки конфигурации службы федерации было обнаружено, что элемент serviceIdentityToken содержит недопустимые данные. Не удалось получить доступ к закрытому ключу для настроенного сертификата.

Эта ошибка записывается в журнал событий сервера ADFS в домене №1 после ввода учетных данных в веб-приложении. Даже с рабочими учетными данными я попадаю на страницу несанкционированного доступа 401.

Учетная запись пользователя, на которой запущена служба ADFS, имеет разрешения на закрытый ключ сертификата, поэтому я не уверен, почему я получаю эту ошибку.

Что я сделал до сих пор:

  1. Создал сервер в домене №1 и установил ADFS 2.0
  2. Создал сервер в домене №2 и установил ADFS 2.0.
  3. Создан третий сервер разработки с VS 2010 в домене №1.
  4. Создал простое приложение на сервере разработки и сделал его совместимым с федерацией (согласно http://msdn.microsoft.com/en-us/library/bb897402.aspx); в web.config сервер федерации настроен на сервер в домене №1

Я также не настраивал доверие проверяющей стороны ни на одном из серверов ADFS. Это необходимо? Кажется, я не могу найти никакой хорошей документации, объясняющей, как это должно работать.

Я следил за этим ( http://blogs.msdn.com/b/alextch/archive/2011/06/27/building-a-test-claims-aware-asp-net-application-and-integrating-it-with-adfs-2- 0-токен-безопасности-сервис-sts.aspx ), но мне кажется, что я где-то пропустил простой шаг.

Подвести итоги:

  1. Почему я могу получить эту ошибку сертификата выше?
  2. Мне не хватает каких-либо шагов по настройке ADFS, чтобы я мог пройти аутентификацию в обоих доменах? (Мне, вероятно, не хватает шага, чтобы связать два сервера ADFS вместе)

Заранее благодарим за любую помощь по этому поводу. Тот, кто знаком с ADFS, вероятно, сможет настроить это за считанные минуты!

Похоже, что вы пытаетесь сделать, это создать сервер разработки, интегрированный с adfs из домена 1, а затем получить adfs из домена1 для приема токенов от adfs в domain2 с использованием доверия поставщика утверждений. Таким образом, пользователи из домена domain1 и domain2 смогут войти в систему и получить доступ к приложению сервера разработки при условии, что правила утверждений настроены правильно.

Итак, ответ на ваш второй вопрос - настроить доверие поставщика утверждений для adfs в домене 1, чтобы указывать на adfs в домене 2 и правила утверждений для преобразования / передачи утверждений, полученных от adfs в домене 1. Тогда для adfs в домене 2 также потребуется доверие проверяющей стороны, настроенное так, чтобы указывать на adfs 1, где вы выбираете, какие утверждения собирать и отправлять.

Что касается вопроса 1, похоже, что закрытый ключ для сертификата служебной связи в adfs недоступен. Если вы установили adfs как ферму, у вас будет учетная запись службы на основе домена. если вы создали его как автономную adfs, он будет использовать встроенную учетную запись сетевой службы. Этот выбор определяет, как вы настраиваете разрешения для сертификата.

вы упоминаете роль adfs и adfs 2.0, поэтому я не уверен, используете ли вы adfs 2 на обоих серверах или встроенную роль, поставляемую с Windows 2008 / R2. Просьба уточнить.

эти пошаговые инструкции должны помочь.

http://technet.microsoft.com/en-us/library/adfs2-federation-wif-application-step-by-step-guide(v=ws.10).aspx

для всех вещей adfs см.

http://social.technet.microsoft.com/wiki/contents/articles/2735.ad-fs-2-0-content-map.aspx