Ошибки сертификатов в среде разработки 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-security-token-service-sts.aspx) руководство по настройке, но я чувствую, что, возможно, есть простой шаг, который я где-то пропустил.

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

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

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

1 ответ

Решение

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

Таким образом, ответ на ваш второй вопрос заключается в том, чтобы настроить доверие поставщика утверждений для 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

Другие вопросы по тегам