Active directory 在Dynamics CRM中,一个非空的、可预测的格式标识符实际上是多少;域名;?

Active directory 在Dynamics CRM中,一个非空的、可预测的格式标识符实际上是多少;域名;?,active-directory,dynamics-crm,Active Directory,Dynamics Crm,我有调用Dynamics CRM Web API以获取有关Dynamics用户的信息的代码。它事先不知道用户的内部动态标识符,因此依赖于他们的Active Directory登录作为查询密钥 我对此有一些疑问和疑问: 当您在Dynamics中创建用户时,domainname(即用户登录)是一个必填字段,但它是否始终为非空?例如,即使您禁用了该用户 我注意到您可以以domain\username和username@fulldomainname在用户创建时。在Dynamics中,登录似乎保持不变

我有调用Dynamics CRM Web API以获取有关Dynamics用户的信息的代码。它事先不知道用户的内部动态标识符,因此依赖于他们的Active Directory登录作为查询密钥

我对此有一些疑问和疑问:

  • 当您在Dynamics中创建用户时,domainname(即用户登录)是一个必填字段,但它是否始终为非空?例如,即使您禁用了该用户

  • 我注意到您可以以
    domain\username
    username@fulldomainname
    在用户创建时。在Dynamics中,登录似乎保持不变,因此当您使用API时,首先必须知道它输入的格式。例如,搜索
    mydomain\bob
    不会给出
    bob@mydomain
    user

    用户在Dynamics CRM中的登录是否有其他可能的格式,或者我们是否可以安全地假设它将遵循以下两种模式之一

  • 域名区分大小写吗

  • Dynamics模块或第三方工具以某种方式仅以windows登录开始,如何确定地找到用户?例如,我们可以有一个外部应用程序,需要访问Dynamics中特定用户拥有的所有Lead。他们是否系统地尝试了所有不同的登录格式和所有案例组合?我想这会很恐怖

      • 禁用用户时,
        domainname
        属性不会清空-这只会影响记录的状态

      • 如果您的身份验证授权允许使用两个变体(参见最后一点),当使用<代码>域名> /代码>作为查询标准时,您必须考虑这两个变体。 我想不出一个真实世界的第三个变体,允许省略域名

      • 域名不区分大小写

      • 由于内部部署系统基本上有两个(现实世界)选项,所以它毕竟没有那么可怕:您可以直接针对IIS进行身份验证,也可以通过STS/ADF进行SSO验证。两者都强制接受登录并使用通用的windows身份验证方法。
        没有什么特殊的CRM需要处理——它依赖于带着有效身份验证令牌到达的用户


      谢谢。非常清楚的是,用户身份验证的方式并不是我方程的一部分。我并不是说我们对当前登录的用户进行推理的正常使用Dynamics。我指的是第三方应用程序或插件通过web API或SDK/WCF端点与Dynamics进行通信,以便访问任何用户的数据。对于此类第三方模块,您是否建议使用另一个代理唯一密钥作为自定义字段存储在用户记录中,或者,尽管存在其他格式问题,您是否仍然认为
      domainname
      是正确的标识符?我确实建议使用一个代理键来标识您的用户记录-最常见的是,有一个唯一的员工ID可用。唯一的普通crm替代方案可能是
      internalemailaddress
      (在标准crm中不是强制性的),但它与
      domainname
      几乎具有相同的不确定性,因为用户可以拥有无限的有效smtp地址。