2012-07-13 37 views
2

我正在配置ADFS服务器,并试图为我们的信赖方应用程序实现用户友好的登录。ADFS - Windows集成或表单身份验证

目前,有两个相关的选项,据我所知:

  • Windows身份验证:这个伟大工程作为单点登录提供者,但提供了一个对用户不友好的弹出如果用户目前不在正确的Windows域中。
  • 表单身份验证:无论用户来自何处,这总是会要求登录方法。

我的问题在这里,是有可能satsify以下要求:

  • 如果用户登录时使用的Windows帐户,提供SSO
  • 否则,显示形式登录页面,让用户输入他的Windows凭据。

回答

7

一般来说,没有检测用户是否在网域上的程序化方式。因为您的网站使用Windows身份验证(并禁用匿名)进行配置时,如果您不在域中,则会向浏览器发送ntlm质询并弹出凭据提示框。

https://serverfault.com/questions/380302/can-i-detect-authenticated-domain-users-in-iis-asp-net-without-prompting-every

您实现这一目标的方法是使用DNS,而这正是ADFS建议通过引入代理的角色。内部DNS将login.yourcompany.com解析为启用了Windows身份验证的内部ADFS,外部DNS将login.yourcompany.com解析为启用了表单身份验证的代理ADFS角色。因此,您需要DMZ上托管的另一台服务器,以便网络/域之外的用户可以访问它。

除非您在绑定到外部IP的同一ADFS服务器上安装仿真网站并且网站重定向到“/ adfs”,否则无法使用单个ADFS服务器执行此操作/ LS /形式”

更多有关代理信息及其设置 http://blogs.technet.com/b/askds/archive/2012/01/05/understanding-the-ad-fs-2-0-proxy.aspx

马蒂亚斯

+0

谢谢,这似乎是要走的路。当我们在实施过程中确认这一点时,我会将其标记为答案。将更多的IP地址分配给单个服务器是相对容易的,所以我们会尝试。 – Bas 2012-07-13 13:59:58