首页 文章

ADFS - Windows集成的OR Forms身份验证

提问于
浏览
2

我正在配置ADFS服务器,并正在尝试为我们的依赖方应用程序实现用户友好的登录 .

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

  • Windows authentication :这非常适合作为单点登录提供程序,但如果用户当前不在正确的Windows域中,则会提供用户不友好的弹出窗口 .

  • Forms Authentication :无论用户来自哪里,都会要求登录方法 .

我的问题是,是否有可能满足这些要求:

  • 如果用户使用Windows帐户登录,请提供SSO

  • 否则,显示表单登录页面,让用户输入他的Windows凭据 .

2 回答

  • 7

    一般来说,没有编程方法来检测用户是否在网站上 . 由于您的站点配置了Windows Auth(并禁用匿名),因此如果您不在域中,则会向浏览器发送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 到内部ADFS,其启用了Windows身份验证,外部DNS解析 login.yourcompany.com 到代理ADFS角色,该角色已启用表单身份验证 . 因此,您需要在DMZ上托管另一台服务器,以便网络/域外的用户可以访问它 .

    使用单个ADFS服务器无法执行此操作,除非您在同一ADFS服务器上绑定到外部IP并且该网站具有重定向到“/ adfs / ls / forms”的某个人工网站(即不受支持) “

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

    马蒂亚斯

  • 0

    您可能会发现它很有趣,根据浏览器通知的用户代理字符串指示表单身份验证或集成身份验证:https://blogs.ncl.ac.uk/isg/?p=296

相关问题