0

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

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

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

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

4

2 回答 2

1

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

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

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

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

HTH-伊恩

于 2013-08-21T21:02:36.513 回答
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

于 2013-08-28T10:03:57.413 回答