【问题标题】:Windows Azure Access Control with ASP.NET Membership具有 ASP.NET 成员资格的 Windows Azure 访问控制
【发布时间】:2011-09-26 14:32:35
【问题描述】:

我有一个使用 vanilla ASP.Net Membership 进行身份验证的现有生产应用程序。

但是,我想提供其他身份验证方式以及当前的 ASP.net 会员系统,例如 Facebook。

Windows Azure 访问控制服务使这变得非常简单和直接。前提是,您正在从头开始一个新的 Web 应用程序。

那么,在这种情况下,我该怎么做

  1. 在不影响当前登录系统及其用户的情况下将访问控制服务身份验证集成到我的应用中?
  2. 迁移用户或链接登录? (不确定这是否可能)

谢谢大家

罗伯托

【问题讨论】:

    标签: asp.net asp.net-mvc-3 azure


    【解决方案1】:

    您需要根据您的会员数据库创建自定义身份提供者。请参阅这篇关于可以集成到访问控制的自定义 WS-Federation 身份提供程序的文章:http://msdn.microsoft.com/en-us/library/windowsazure/gg185933.aspx

    另请参阅这篇关于成员数据库顶部的文章:http://blogs.msdn.com/b/vbertocci/archive/2009/04/23/enhance-your-asp-net-membership-based-website-by-adding-identity-provider-capabilities.aspx

    【讨论】:

      【解决方案2】:

      Paul Tyng 建议的基于您的 ASP.NET 成员数据库创建身份提供者 (IP) 的方法是有效的。

      但是,这意味着如果您只是创建一个 IP,您将允许使用其他 IP(例如 Google 或 Facebook)授权的所有人登录。我猜这不是您想要的 - 您仍然希望人们首先注册(显然使用用户名密码或使用他们的外部身份)。如果是这种情况,那么您的任务如下:

      1. 为与现有用户表相关的用户外部身份添加数据存储。
      2. 修改应用程序中的 ACS 登录处理,以检查从 ACS 返回的身份是否确实存在于您的成员数据库中。
      3. 如果您在数据库中找到返回的身份,请执行 member 登录(而不是联合登录)。
      4. 在注册过程中添加外部身份绑定,以便实际填充您的身份表。
      5. (可选)重用 #4 机制的大部分内容,以提供将外部身份附加到现有用户帐户的能力(即,我已经拥有您的普通会员资格,现在想要添加使用 Google 登录的能力以及,例如)。

      没有一个单一的教程/演练可以实现这一点(或者我还没有找到一个),所以我不得不从各种来源中提取一些信息以使其工作。如果我正确理解了您的要求,请在评论中告诉我,我将添加有关如何设置的指南。干杯!

      【讨论】:

        【解决方案3】:

        【讨论】:

        • 一点价值都没有,还是一点都不晚?
        • 很有价值,但还不算太晚 :) 谢谢。
        猜你喜欢
        • 2012-05-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-06
        • 1970-01-01
        相关资源
        最近更新 更多