【发布时间】:2012-02-14 15:00:48
【问题描述】:
我们正在开发要在我们的网络上托管的 Web 应用程序,但客户希望我们与他们的(远程)活动目录“同步”。
基本上,他们希望使用他们的 AD 凭据登录我们的 Web 应用程序。
关键是 Web 应用程序(我们的)和 AD 目录(他们的)位于两个完全独立且断开连接的网络上。
您推荐哪些工具和/或策略来提供此服务?
我们的网络应用程序是 c#/IIS。
【问题讨论】:
标签: .net active-directory
我们正在开发要在我们的网络上托管的 Web 应用程序,但客户希望我们与他们的(远程)活动目录“同步”。
基本上,他们希望使用他们的 AD 凭据登录我们的 Web 应用程序。
关键是 Web 应用程序(我们的)和 AD 目录(他们的)位于两个完全独立且断开连接的网络上。
您推荐哪些工具和/或策略来提供此服务?
我们的网络应用程序是 c#/IIS。
【问题讨论】:
标签: .net active-directory
正如我发布的 here...
我的理解是有三种可能的解决方案:
在域控制器上安装一些东西以捕获所有用户更改(添加、删除、密码更改)并将更新发送到远程服务器。不幸的是,网站无法知道初始用户密码 - 只有更改后的新密码。
为 Web 服务器提供访问权限,以通过 LDAP/WIF/ADFS 连接到您的域控制器。这可能意味着在公司的防火墙中打开传入端口以允许特定 IP。
否则,绕过用户名/密码并改用email-based authentication。用户只需每 3-6 个月通过电子邮件对每台设备进行一次身份验证。
我必须开始为即将到来的项目实施此功能,并且为了简单起见,我非常倾向于选项 #3。
【讨论】:
此方案是 Windows Identity Foundation (WIF) 支持的主要方案之一,前提是它们可以将其 AD 公开为安全令牌服务 (STS)。他们可以使用 ADFS 2 来做到这一点。一般方法称为身份联合。 WIF 与 ASP.Net 集成得非常好。
网络上有很多关于 WIF 和 ADFS 2 身份联合的文档。例如,尝试使用 this 以及用于 WIF SDK 和 Visual Studio 工具的 documentation。
【讨论】: