Образец Windows Identity Foundation приложение MVC

Существует ли пример приложения для использования WIF с приложением MVC ASP.NET? Кто-то может помочь мне начать пытаться интегрировать обе из этих технологий?

17
задан DotnetDude 29 April 2010 в 21:11
поделиться

4 ответа

Я обнаружил, что лучший пример для начала - это Dominick Baiers StarterSTS.

Даже если вы не используете это в качестве STS, обучающие материалы на сайте станут отличной отправной точкой. Специально обучающих программ по ASP.NET MVC нет, но я заставил их работать точно так же, как ASP.NET WebForms.

Короче говоря ...

  1. Загрузить WIF и WIF SDK - http://msdn.microsoft.com/en-us/evalcenter/dd440951.aspx
  2. Загрузить StarterSTS - http://startersts.codeplex.com/
  3. Следуйте вводному видео STS - https://identity.thinktecture.com/download/startersts/v1/StarterSTS_InitialSetup.wmv
  4. Следуйте руководству по ASP.NET http://identity.thinktecture.com/download/starterSTS/v1/StarterSTS_FederatingWebApps.wmv
  5. Создайте новый проект MVC в VS 2010
  6. Щелкните правой кнопкой мыши проект и выберите " Добавить ссылку на STS »и следуйте тем же шагам мастера, что и для приложения WebForms. (чтобы добавить информацию WIF в ваш файл web.config.)

Теперь, когда вы попытаетесь войти в свое приложение MVC, вы будете использовать поставщика удостоверений StarterSTS, и он выполнит вход ..

Если вы отлаживаете любой из методов вашего контроллера, и теперь вы увидите, что у вас есть WIF "ClaimsPrincipal" (который реализует IPrincipal и поэтому имеет обратную совместимость)

Следует отметить, что учебные пособия на самом деле охватывают только аутентификацию.

Чтобы иметь возможность выйти из приложения MVC ...

Добавьте ссылку на Microsoft.IdentityModel

(«известная» ошибка заключается в том, что она не отображается в диалоговом окне добавления ссылки VS2010, поэтому вам нужно ссылаться на dll непосредственно в C: \ Program Files \ Reference Assemblies \ Microsoft \ Windows Identity Foundation \ v3. 5 \ Microsoft.IdentityModel.dll)

В шаблонном методе MVC AccountControllers LogOff теперь вы можете вызвать ...

WSFederationAuthenticationModule.FederatedSignOut(null, new Uri("https://RP/"));

, где RP - это URI вашей собственной Проверяющей стороны на основе MVC.

После того, как вы все это настроили, использовать другую службу STS, такую ​​как ADFS (службы федерации Active Directory), становится легко. (так как вам не нужно ничего делать, кроме как перенастроить приложение для его использования.)

В качестве примечания, дополнительные снимки экрана можно найти здесь .

Надеюсь, это поможет. Все это своего рода минное поле: -)

23
ответ дан 30 November 2019 в 12:35
поделиться

Здесь есть короткая общая статья, которая должна охватывать основы .

Для реального примера кода, Microsoft's Identity Developer Training Kit включает примеры в ASP.NET (а также Silverlight и др.).

Кроме того, Microsoft опубликовала длинный PDF-файл под названием «Краткое руководство по идентификации и контролю доступа на основе утверждений» , который должен быть полезным справочным материалом (глава 3).

3
ответ дан 30 November 2019 в 12:35
поделиться

Как только вы поймете, как WIF работает с ASP.NET WebForms, посмотрите пост здесь о создании пользовательского атрибута авторизации в ASP.NET MVC

2
ответ дан 30 November 2019 в 12:35
поделиться

Простой пример MVC + WIF можно найти в главе "Федерация с несколькими партнерами" руководства, ссылка на которое приведена выше. Прямая ссылка здесь: http://msdn.microsoft.com/en-us/library/ff359105(v=PandP.10).aspx

Основы того, как это работает, документированы здесь: http://blogs.msdn.com/b/eugeniop/archive/2010/04/03/wif-and-mvc-how-it-works.aspx

2
ответ дан 30 November 2019 в 12:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: