dynamics-crm-2011 - 是否可以修改 ADFS 以使用 NTLM 凭据(如果存在以对用户进行身份验证)?

标签 dynamics-crm-2011 adfs2.0

我们正在使用带有 ADFS 2.0 的 CRM 2011。我们的用户希望内部和外部用户都使用一个 url,但是如果我们还想通过用户当前的 NTLM 凭据使用自动登录,那么在 CRM 2011 中使用 IFD 配置是不可能的。是否可以修改 ADFS 登录页面以检测 NTLM 凭据是否存在且来自正确的域,如果存在,则自动登录用户并将其重定向回具有正确 ADFS token 的应用程序?

是否有足够的 API 表面积和正确的类型让我们以这种方式修改登录页面,或者票务 API 是否已关闭到我们无法以编程方式执行此操作的地步?

评论:我们知道使用 UAG SP1,我们可以强制使用 NTLM 凭据登录 ADFS,但我们的客户不打算很快部署 UAG。

最佳答案

你的问题对我来说不是很清楚,但无论如何可能在这里某个地方有答案。

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

例如,如果从 CRM 到 AD FS 的 WS-Federation 登录请求(通过浏览器发送)表明集成的 Windows 身份验证没问题,并且如果您在 <localAuthenticationTypes> 的顶部有集成处理程序列表,则 IWA 始终用于对用户进行身份验证(因此,NTLM 或 Kerberos,取决于浏览器/服务器功能)。用户是“内部”还是“外部”并不重要。

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

您是否总是想要静默登录(而不是从浏览器中获取 Windows 凭据对话框)?根据我们的经验,IWA 协商无法让服务器相信客户端的 Windows 凭据实际上是有效的,从而导致浏览器明确要求凭据的原因有很多。最明显的原因是浏览器无法访问服务器的AD,但还有更多。

关于dynamics-crm-2011 - 是否可以修改 ADFS 以使用 NTLM 凭据(如果存在以对用户进行身份验证)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9085920/

相关文章:

javascript - CRM 2011 - 过滤子网格搜索功能

javascript - MSCRM 2011 : Filtering an Iframe using javascript

caching - 如何禁用 CRM 2011 Xrm 缓存?

c# - 从 CRM 2011 中检索实体列表,每个实体及其所有相关实体

adfs2.0 - ADFS spring-saml 依赖方没有配置AssertionConsumerService

asp.net-mvc-4 - Azure - 使用 ADFS 在 Azure 中运行应用程序返回以下错误 : Exception message: ID4014: A SecurityTokenHandler is not

c# - 参数名称: The plug-in type could not be found in the plug-in assembly

adfs2.0 - wfresh参数导致ADFS登录失败

c# - 无法让我的网络应用注销 ADFS