Несколько служб токенов безопасности в Windows Identity Framework - PullRequest
0 голосов
/ 27 сентября 2011

У меня есть веб-приложение asp.net mvc 3, которое должно поддерживать единый вход из нескольких STS на основе субдомена, запрашиваемого пользователем.

Поэтому запросы на https://weylandyutani.mydomain.com должны доверять STS Вейланда-Ютани, а https://tyrell.mycomain.com должны доверять STS Tyrell.

Большинство ресурсов WIF говорят о включении STS в веб-конфигурации приложения. Есть ли приемлемый способ сделать это динамически, не изобретая колесо?

1 Ответ

3 голосов
/ 27 сентября 2011

В подобных сценариях вы обычно используете промежуточный STS (именуемый «RP-STS» или «Поставщик федерации», который будет обрабатывать все доверительные отношения для вас. То есть: ваше приложение доверяет RP-STS, затем RP-STS будет доверять Вейланд-Ютани, Тиреллу и т. д.

Добавление RP-STS несколько упрощает ситуацию, особенно если каждый из идентификаторов STS отправляет вам утверждения, которые отличаются от того, что вам требуется в вашем приложении. Например: Тайрелл может отправить вам «имя», «фамилия» и «электронная почта». Weyland может отправить «Имя пользователя», «электронная почта». RP-STS нормализует набор требований в соответствии с потребностями вашего приложения.

Способ подсказки RP-STS, куда перенаправить пользователя, - параметр whr (что означает «Домашний мир»). Ваше приложение будет просматривать URL-адрес запроса и затем добавлять параметр whr перед перенаправлением на RP-STS.

Все вышеперечисленное подробно описано в главе " Федерация с несколькими партнерами " этой книги .

Если вы не хотите создавать / приобретать и развертывать свой собственный RP-STS (в зависимости от модели развертывания вашего приложения, вы можете использовать ADFS v2.0, например), вы можете использовать Access Control Service из Windows Azure. ,

В этой другой главе объясняется, как это будет работать.

...