Sab*_*y62 9 c# adfs active-directory single-sign-on adfs2.0
我们有几个客户使用我们的Web应用程序(不是Intranet),有些客户希望他们的登录应该与他们的组织Active Directory集成.他们只是希望用户登录到他们的Windows帐户并可以访问Web应用程序而无需输入任何用户凭据.
我已经阅读了一些关于ADFS的文章,但仍然不确定如何集成或实现它.任何建议的解决方
谢谢!
如果您开发基于 .NET 的应用程序,Microsoft 提供了一个名为WIF的库,该库用于以 +- 舒适的方式与 AD FS 通信(配置 + 少量代码修改以从 AD FS 提供的身份验证消息中获取声明)。
AD FS 2.0 和 WIF 都支持的协议很少,为了使 SSO 工作,最常见的协议是 (afaik) SAML 2.0和 WS-Federation。两者都基于 XML 消息构建,但如果您使用 WIF,则不需要了解详细信息。
对于 WS - 联合,WIF 库为 Visual Studio 提供了一个插件,它允许您将站点配置为 AD FS 的依赖方。
您可以使用数据库中的凭据来识别用户,您实际上可以自定义AD FS 的整个登录页面和身份验证事件。但是,基本安装要求在您的 Active Directory 中定义每个用户。您还可以将您的数据库用作声明存储(另一个数据库 AD FS 将用于向依赖应用程序提供有关用户的信息)。请注意,如果您打算在 AD FS 后面使用 AD,则您的 AD FS 服务必须能够访问它并进行 LDAP 查询,我不确定这是否适合您,如果您的用户登录到他们的本地域AD FS 不熟悉。
如果您不需要支持行业 SSO 标准协议(我已经提到过 SAML 2.0),我不确定实施 AD FS 是否会是一个很好的解决方案。它迫使你以某种方式工作,这并不总是那么舒服。
根据评论需要更多细节。
这里有一个很好的来源:AD FS 2.0 Content Map。
“电子书”就在这里。
我可以想象一种场景,您将云应用程序绑定到 Azure ACS,您的客户在其 AD 之上安装 ADFS,并将其 ADFS 与 ACS 联合。这将为您提供所需的功能。
评论后更新:
ADFS 只能针对 AD 进行身份验证。它无法针对数据库进行身份验证。它可以从 SQL Server DB 获取属性,然后将其转换为声明,即它可以使用 SQL DB 进行授权。
如果您想针对 SQL DB 进行身份验证,您有两种选择。
| 归档时间: |
|
| 查看次数: |
17953 次 |
| 最近记录: |