【问题标题】:Why do I need to set up trust to query Active Directory?为什么我需要设置信任来查询 Active Directory?
【发布时间】:2013-12-07 21:49:57
【问题描述】:

我是 Active Directory 的新手,我接到了一项任务,即修复我们其中一台服务器上的应用程序无法访问另一台服务器上的 Active Directory 的错误。我们用来绑定到活动目录的用户是“域管理员”,我们在 C# 应用程序中使用此用户的凭据来访问具有 .net 3.5 的 System.DirectoryServices.AccountManagent 类的活动目录。

服务器与活动目录服务器在同一个域中。

在努力使应用程序运行后,网络管理员设置了对服务器计算机(安装应用程序的位置)的信任(作为最后手段),并允许应用程序运行。

网络管理员说:

“如果我在 AD 中打开计算机帐户并单击委派(然后选择“信任此计算机以委派给任何服务(仅限 Kerberos)”,它就可以工作!!我不明白为什么我应该需要为服务器启用委派,因为它已经在域中 - 但它可以工作“

我的问题是为什么这是必要的?

【问题讨论】:

  • 有问题的机器在哪个域中?服务以什么用户帐户运行(在服务中)?该应用程序是否使用不同的 LDAP 凭据?如何为该 LDAP 连接设置网络凭据?
  • 我会尽力回答这些问题(作为网络和 AD 的新手)1)两台机器都在域 XXX.local 中。 2)该服务作为“网络服务”帐户运行。 3) 该应用程序正在使用 PrincipalContext 类并传入“域管理员”帐户的凭据以绑定到活动目录。 4) 使用 PrincipalConext。

标签: c# networking active-directory


【解决方案1】:

这听起来像是 PrincipalContext 没有生效的编程错误。 None of these samples change the default service context... 如果他查看事件日志,他可能会看到 MachineName$(美元符号)正在登录。

试试这个 - 将服务帐户名称从 LocalService 设置为您要用于 LDAP 的帐户。它应该可以工作,即使没有域管理员权限。

【讨论】:

    猜你喜欢
    • 2021-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多