是否可以修改ADFS以使用NTLM凭据(如果存在)来验证用户?

时间:2012-01-31 19:48:55

标签: dynamics-crm-2011 adfs2.0

我们正在使用带有ADFS 2.0的CRM 2011。我们的用户希望将一个网址用于内部和外部用户,但如果我们还希望通过用户当前的NTLM凭据使用自动登录,则无法使用CRM 2011中的IFD配置。是否可以修改ADFS登录页面以检测是否存在NTLM凭据以及是否存在正确的域,如果是,则自动将用户登录并使用正确的ADFS令牌将其重定向回应用程序?

是否有足够的API表面区域和正确的类型供我们以这种方式修改登录页面,或者票证api关闭到我们无法以编程方式执行此操作的程度?

评论:我们知道使用UAG SP1我们可以使用NTLM凭据强制登录ADFS,但我们的客户端不打算在不久的任何时间部署UAG。

1 个答案:

答案 0 :(得分:1)

你的问题对我来说并不是很清楚,但无论如何,这里可能会有答案。

Authentication Handler Overview页面所述,AD FS 2.0有几种身份验证机制。选择哪一个是基于“认证请求允许”的内容来确定的。这不是来自用户浏览器的HTTP请求,而是来自依赖方(在您的情况下为CRM 2011)的登录请求。并且没有回退:对于四个处理程序中的每一个,“[I] f调用,它将请求传递给下一个处理程序。”

因此,例如,如果从CRM到AD FS的WS-Federation登录请求(通过浏览器发送)表明集成的Windows身份验证很好,并且在{{1}的顶部有集成处理程序然后IWA总是用于验证用户(因此NTLM或Kerberos,具体取决于浏览器/服务器功能)。用户是“内部”还是“外部”并不重要。

您是否要为不同的用户使用不同的身份验证方法?如果是这样,那么影响所选认证方法的唯一方法就是来源:理论上,CRM可以根据用户或用户浏览器的某些信息调整其认证请求。如果CRM基于WIF,您可以在WSFederationAuthenticationModule.RedirectingToIdentityProvider Event中进行请求操作。使用此机制,同事在SharePoint中成功执行了WIF登录请求操作。

您是否始终希望无声登录(而不是从浏览器获取Windows凭据对话框)?根据我们的经验,IWA协商无法说服服务器客户端的Windows凭据实际有效的各种原因,使浏览器明确要求提供凭据。最明显的原因是浏览器无法访问服务器的AD,但还有更多。