我有调用 Dynamics CRM Web API 的代码来获取有关 Dynamics 用户的信息。它事先不知道用户的内部 Dynamics 标识符,因此依赖于他们的 Active Directory 登录作为查询的关键。
我对此有一些疑问和疑问:
在 Dynamics 中创建用户时,域名(即用户登录名)是必填字段,但它是否始终为非空 - 即使您禁用了用户?
我注意到您可以在创建用户时无差别地以
domain\username
和username@fulldomainname
形式指定登录名。登录似乎在 Dynamics 中保持完整,因此当您使用 API 时,您必须首先了解输入的格式。例如,搜索mydomain\bob
不会为您提供bob@mydomain
用户。Dynamics CRM 中的用户登录是否有任何其他可能的格式,或者我们假设它将遵循这两种模式之一是否安全?
域名是否区分大小写?
Dynamics 模块或第三方工具以某种方式只有 Windows 登录才能开始,如何设法确定性地找到用户?例如,我们可能有一个外部应用程序需要访问 Dynamics 中特定用户拥有的所有线索。他们是否系统地尝试了所有不同的登录格式和所有案例组合?我认为这会很恐怖。
最佳答案
禁用用户时不会清空属性
domainname
- 这只会影响记录的状态。如果您的身份验证机构在使用
domainname
作为查询条件时允许这两种变体(请参阅最后一点),那么您确实必须考虑这两种变体。
我想不出允许省略域名的真实世界第三变体。域名不区分大小写。
由于本地系统基本上有 2 个(现实世界)选项,所以它毕竟不是那么可怕:您可以直接针对 IIS 进行身份验证,也可以通过 STS/ADFS 进行 SSO。两者都强制接受登录并使用常见的 Windows 身份验证方法。
没有什么特殊的 CRM 需要处理 - 它依赖于使用有效身份验证 token 到达的用户。
关于active-directory - 在 Dynamics CRM 中,有多少非空、可预测格式标识符真的是 "domainname"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39610251/