【问题标题】:OpenId Authentication through different web sites in MVC通过 MVC 中不同网站的 OpenId 身份验证
【发布时间】:2013-02-08 15:48:37
【问题描述】:

我必须开发一个实现自定义身份验证的网站。 到目前为止没问题,我应该使用会员提供者等等。 现在问题来了....我必须创建其他网站,可以从主网站访问,而无需要求用户凭据。如果用户未通过身份验证,此站点必须静默登录或再次显示登录表单。

我认为我必须以某种方式使用 DotNetOpenAuth 和 OpenId 身份验证,但我花了几天时间搜索互联网却没有找到任何起点。 所有示例都使用 Google 或 Facebook,但不是我的情况....

基本上……

  1. 用户登录主网站。
  2. 点击指向外部网站的链接
  3. 外部网站“识别”用户已登录并授予访问权限

我对OpenId很困惑,希望有人能给我一些提示。

任何帮助将不胜感激

谢谢!

【问题讨论】:

    标签: asp.net-mvc openid dotnetopenauth


    【解决方案1】:

    听起来您想成为 OpenID 提供者 (http://openid.net/add-openid/become-a-provider/)。搜索 OpenID 提供程序库。实现 OpenID 提供程序后,每个外部网站都需要使用 OpenID 依赖方库来实现 OpenID。

    【讨论】:

    【解决方案2】:

    如果您有灵活性,我还建议您研究 MVC4,它内置了对 ClaimsIdentity 的支持,可以更好地支持使用 OpenId、OAuth、单点登录 (SSO) 和联合身份验证等外部身份验证。我正在尝试在我的应用程序中实现这一点,所以我仍在学习。我还在尝试研究 Windows 身份框架 (WIF) 但我仍然不确定它在所有这些东西中的作用。这与其说是一个答案,不如说它是一种新的方法,我认为您也可能会从中受益。

    【讨论】:

      【解决方案3】:

      DotNetOpenAuth 可以提供您需要的 OpenID Provider 功能。还有提供者samples available from Sourceforge。查找 OpenIdProviderMvc 示例。

      考虑到您想要的是两个相关网站之间的 SSO 登录体验,我建议您研究名称中带有“SSO”的 DNOA 示例。

      【讨论】:

      • 感谢 Andrew,我已经在几分钟前回答了...我真的不明白从提供程序示例中的何处开始...请帮助! :)
      • 所以,我终于了解了它在 ASP 网络表单中的工作原理,研究和检查了 SSO 示例。不幸的是,我必须在 MVC 中执行此操作,并且示例使用我无法在 MVC 中使用的 openid:ProviderEndpoint 对象。所以,我开始检查 OpenIdProviderMvc 示例,但是……它对我来说似乎完全不同。我是否必须遵循 OpenIdProviderMvc 示例(在这种情况下,如果有人知道从哪里开始......请帮助)还是有一种解决方法可以在 MVC 中使用 OpenIdWebRingSsoProvider 中的逻辑?
      • 其他问题...如何使用 OpenIdRelyingPartyMvc 项目中的 OpenIdProviderMvc?这应该是可能的,对吧?因为他向我索要 OpenId 标识符,而我想使用自定义 OpenIdProviderMvc。
      • 是的,您可以使用任何 RP/OP 样本组合,除非它们被硬编码为仅允许某些远程方。只需在示例 RP 的 OpenID 登录框中输入提供者网站的主页 URL。
      【解决方案4】:

      我不确定您的项目规模或范​​围。如果它只有两个网站并且流量很少,那么实施身份提供者(OpenID 提供者)就有点过头了。相反,您可以研究一个简单的方法,例如 http://www.youtube.com/watch?v=1u7-sBadfW4

      但是,如果这不仅仅是两个网站,那么坚持开放标准总是更好,因为这将为您带来安全性、可扩展性、互操作性等优势。但仍然有免费和开源的 openID您可以下载并开始工作的提供程序 (http://wso2.com/products/identity-server/)

      【讨论】:

        猜你喜欢
        • 2010-11-13
        • 2019-05-03
        • 1970-01-01
        • 1970-01-01
        • 2018-04-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-10-12
        相关资源
        最近更新 更多