【问题标题】:Windows Identity Foundation sample MVC applicationWindows Identity Foundation 示例 MVC 应用程序
【发布时间】:2011-02-13 23:50:34
【问题描述】:

是否有将 WIF 与 ASP.NET MVC 应用程序结合使用的示例应用程序?有人可以帮助我开始尝试集成这两种技术吗?

【问题讨论】:

    标签: .net asp.net-mvc authentication wif


    【解决方案1】:

    我发现到目前为止,最好的入门示例是 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. 在VS 2010中新建一个MVC项目
    6. 在项目上右键单击,选择“添加 STS 引用”并按照与 WebForms 应用程序相同的向导步骤进行操作。 (将 WIF 信息添加到您的 web.config 文件中。)

    现在,当您尝试登录您的 MVC 应用程序时,您将使用 StarterSTS 身份提供程序,它会让您登录..

    如果您调试任何控制器方法,您现在会看到您有一个 WIF“ClaimsPrincipal”(它实现了 IPrincipal,因此向后兼容)

    需要注意的一点是,这些教程仅涉及身份验证。

    为了能够从 MVC 应用程序中注销...

    添加对 Microsoft.IdentityModel 的引用

    (一个“已知”错误是它没有显示在 VS2010 添加引用对话框中,因此您必须直接在 C:\Program Files\Reference Assemblies\Microsoft\Windows Identity Foundation\v3.5 中引用 dll \Microsoft.IdentityModel.dll)

    在模板化的 MVC AccountControllers LogOff 方法中,您现在可以调用...

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

    其中 RP 是您自己的基于 MVC 的依赖方的 URI。

    完成所有这些设置后,使用 ADFS(Active Directory 联合服务)等其他 STS 就很容易了。 (因为除了重新配置应用来使用它之外,您无需执行任何操作。)

    作为旁注,更多的屏幕投射可以是found here

    希望这会有所帮助。这有点像雷区:-)

    【讨论】:

    • +1 指出了 VS2010 的错误和一个内容丰富的帖子!欢呼
    【解决方案2】:

    有一篇简短的高级文章应该涵盖基本知识here

    对于真实的示例代码,Microsoft 的 Identity Developer Training Kit 包含 ASP.NET(以及 Silverlight 等)中的示例。

    此外,Microsoft 发布了一份冗长的PDF called "A Quick Guide to Claims-Based Identity and Access Control",这应该是一个有用的参考(第 3 章)。

    【讨论】:

      【解决方案3】:

      可以在上述指南的“与多个合作伙伴联合”一章中找到 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

      【讨论】:

        【解决方案4】:

        一旦您了解了 WIF 如何与 ASP.NET WebForms 一起工作,请查看帖子here 在 ASP.NET MVC 中创建自定义授权属性

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-11-16
          • 2011-10-04
          • 1970-01-01
          • 2011-01-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-10-21
          相关资源
          最近更新 更多