单点登录到远程表单经过身份验证的站点

时间:2013-08-21 16:42:00

标签: asp.net-mvc-3 forms security authentication single-sign-on

我们有一个面向外部的Forms认证网站。

新客户要求他们不希望用户必须维护(记住)并输入我们网站的凭据,并且他们应该能够使用他们的Windows网络凭证无缝登录。

我上次检查时,这是不可能的,但我想知道是否有人有类似的要求以及他们是如何实现的。

我们是否应该调查使用SSO提供商?

2 个答案:

答案 0 :(得分:1)

实现此目的的正确方法是采用SAML 2.0来处理应用程序与客户的Windows网络信用(存储在Active Directory中)之间的用户身份信息交换。采用SAML作为身份验证选项可以为您提供最大的安全性/灵活性,并允许您的客户实现他们想要的任何类型的身份验证。 SAML最终成为基于标准的方法,您可以在其中安全与客户交换身份信息。

在非常高的级别,您的客户将实施SAML 2.0身份提供商,允许他们利用他们现有的Windows凭据(有很多第三方应用程序可以让他们轻松地执行此操作。请将pingone.com作为一个例子[注意:我为Ping身份工作])。安全地对用户进行身份验证后,IDP会生成数字签名的SAML响应(包含用户的身份),并通过浏览器发送到您的应用程序。您的应用程序将验证响应,然后授予用户对您的应用程序的访问权限。

一些可以帮助您更好地理解流程的指示 -

Ping Identity还有一项服务,允许您通过简单的RESTful API(https://www.pingone.com/#developer)快速实现SAML 2.0服务提供商要求。

HTH - 伊恩

答案 1 :(得分:0)

听起来您的客户应该在其基础架构中部署ADFS2.0。 ADFS是一种身份提供程序,可为受欢迎的应用程序公开Active Directory标识。

然后,在您的应用程序中,您只需使用远程adfs实现WS-federation身份验证。从技术上讲,您有两种不同的流程:

  • 您的部分用户使用其用户名/密码登录
  • 其他用户单击登录页面上的“使用远程adfs登录”按钮启动远程身份验证 - 它会重定向到用户提供用户名/密码的远程adfs,然后带有声明的SAML令牌会返回到您的应用程序。声明可以描述用户名,其电子邮件,用户ID,角色(组)或任何其他Active Directory属性

由于ADFS2是Windows Server的免费下载组件,因此在部署它时应该没有任何重大问题。

这本免费的电子书应该很方便

http://msdn.microsoft.com/en-us/library/ff423674.aspx