Существует ли пример приложения для использования WIF с приложением MVC ASP.NET? Кто-то может помочь мне начать пытаться интегрировать обе из этих технологий?
Я обнаружил, что лучший пример для начала - это Dominick Baiers StarterSTS.
Даже если вы не используете это в качестве STS, обучающие материалы на сайте станут отличной отправной точкой. Специально обучающих программ по ASP.NET MVC нет, но я заставил их работать точно так же, как ASP.NET WebForms.
Короче говоря ...
Теперь, когда вы попытаетесь войти в свое приложение 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), становится легко. (так как вам не нужно ничего делать, кроме как перенастроить приложение для его использования.)
В качестве примечания, дополнительные снимки экрана можно найти здесь .
Надеюсь, это поможет. Все это своего рода минное поле: -)
Здесь есть короткая общая статья, которая должна охватывать основы .
Для реального примера кода, Microsoft's Identity Developer Training Kit включает примеры в ASP.NET (а также Silverlight и др.).
Кроме того, Microsoft опубликовала длинный PDF-файл под названием «Краткое руководство по идентификации и контролю доступа на основе утверждений» , который должен быть полезным справочным материалом (глава 3).
Как только вы поймете, как WIF работает с ASP.NET WebForms, посмотрите пост здесь о создании пользовательского атрибута авторизации в ASP.NET MVC
Простой пример 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