Как реализовать активный федеративный провайдер с WIF - PullRequest
0 голосов
/ 23 августа 2011

У меня есть несколько клиентских приложений Silverlight, WP7 и ASP.NET MVC. Большинство из них разрешают анонимный доступ к приложению, но при входе в систему обеспечивают защиту различных функций на основе учетных данных пользователя. Все клиенты используют общее служебное приложение для данных доступ и бизнес-обработка, для которых требуются учетные данные пользователя для аутентификации и авторизации.

В настоящее время мы используем проверку подлинности с помощью форм во всех клиентских приложениях, и я хотел бы перенести нашу архитектуру на федеративную идентификацию и модель на основе утверждений. Пассивная федерация не вариант.

Я ищу следующий поток:

  1. Пользователь запускает диалог входа в систему, вводит свое имя пользователя и Затем нажмите «ОК».
  2. За кулисами приложение вызывает активную службу STS в наше существующее сервисное приложение для аутентификации.
  3. Сервис на самом деле является федеративным STS и передает вызов через на (активный) IP_STS, который может быть или не быть ADFS.
  4. Когда IP возвращает токен FP, FP изменяет токен с дополнительными претензиями из хранилища данных сервера перед возвратом токен клиентскому приложению.
  5. Клиентское приложение поддерживает токен в памяти для проверки полномочий (например, в Thread.CurrentPrincipal).
  6. Клиент также передает токен при отправке запросов другим Сервисные операции в нашем сервисном приложении.
  7. Эти сервисные операции будут использовать токен для аутентифицировать / авторизовать запрос.

Это очень отличающийся вариант использования от любых статей и примеров, которые мне удалось найти. Кто-нибудь может дать какое-нибудь руководство и / или указать мне правильное направление?

1 Ответ

1 голос
/ 17 ноября 2011

Насколько я понимаю от Доминика Байера, WIF в настоящее время не поддерживает подход, который мы используем. Мы воспользовались его предложением и создали наш собственный пользовательский STS, который модерирует аутентификацию с использованием модели провайдера.

К сожалению, чем дальше мы углубляемся в это, тем больше понимаем, что WIF недостаточно гибок, чтобы удовлетворить наши потребности на данный момент. Мы придерживаемся индивидуального подхода STS, но используем собственный транспорт и учетные данные, а не инструменты WIF. Надеюсь, будущий релиз даст нам то, что мы хотим.

...