axapta - 使用特定域控制器从 Dynamics AX 读取 Active Directory 中的用户信息
问题描述
我们有一些域控制器可用于读取 AD 用户信息。
当域名"mydomain.co.uk"
被用作 AD 域时,将选择那些少数域控制器中的任何一个来服务于该目的。
但是,如果 AD 中的更改尚未传播到所有域控制器,则不会返回任何结果。
为了解决这个问题,我决定始终指向一个特定的域控制器,即"dc1.mydomain.co.uk"
.
在 C# 中,这很容易通过以下方式完成:
new PrincipalContext(ContextType.Domain,
"dc1.mydomain.co.uk:389",
"OU=Groups,DC=mydomain,DC=co,DC=uk",
domainUsername,
domainPassword)
但是在 X++ 中仅"mydomain.co.uk"
适用:
static void validateDomain(Args _args)
{
xAxaptaUserManager Axmanage;
NetworkDomain networkDomain = "";
// Works
networkDomain = "mydomain.co.uk";
// Does not work
networkDomain = "dc1";
networkDomain = "dc1.mydomain.co.uk";
networkDomain = "dc1.mydomain.co.uk:389";
networkDomain = "LDAP://dc1.mydomain.co.uk:389/";
Axmanage = new xAxaptaUserManager();
info(strFmt("%1", Axmanage.validateDomain(networkDomain)));
}
如果可能,如何在 MS Dynamics AX 2012 R3 中使用xAxaptaUserManager实现相同的功能?
解决方案
我们不在您的网络上,因此我们无法真正测试所有内容,但是如果xAxaptaUserManager
内核类不起作用,但是您可以在...中执行此操作C#
...只需创建一个程序集“助手”,您就可以来自 AX 的电话。
请参阅以下链接:
https://docs.microsoft.com/en-us/dynamicsax-2012/developer/how-to-add-a-reference-to-a-net-assembly
https://docs.microsoft.com/en-us/dynamicsax-2012/developer/net-interop-from-x
推荐阅读
- flutter - 不同路由 Flutter 中的 Provider
- reactjs - 打字稿反应图像src要求产生错误找不到模块
- static-analysis - Frama-C - 通过命令行获取函数输入值
- mongodb - 使用 id 字段的值更新 mongodb 集合的所有字段
- laravel - 我想在页面过期(419)显示时重定向到登录页面
- javascript - 如何从 VueJS 应用程序 ping IP 地址?
- python - 如何使用 python 获取字典中文件的内容?
- layout - 如何使相同等级的节点的点更宽?
- python - Pandas 中每个用户名的并发事件数
- html - 有没有办法使用描述元素 CSS 填充和 max-width 属性之间依赖关系的公式来创建 @media 规则?