2013-08-06 111 views
0

我一直在寻找答案,似乎找不到一个,但也许我错过了它。我有一个WPF应用程序,我使用PrincipalContext连接到MS AD。我的开发机器没有加入域,我可以连接没有问题。但是,在我们的终端服务器上,即使我将有效凭证传递给PrincipalContext构造函数,如果当前登录的用户位于Domain Admins组中,我的应用程序也只能连接。我尝试过使用我的帐户,“服务”帐户,甚至管理员帐户。C#Active Directory Principalcontext权限

我有我的开发机器上,但不是我们的终端服务器上这方面的工作:

PrincipalContext pc = new PrincipalContext(ContextType.Domain, "DC.mydomain.com", null, ContextOptions.SimpleBind | ContextOptions.ServerBind, Username, Password); 

在终端服务器上,它抛出一个异常。该消息是“无法建立连接”。经过进一步调查,我发现LDAP正在返回一个91的错误代码,我也一直在查找,但我仍然无法使其连接。我必须尝试将参数的每个组合传递给PrincipalContext。

编辑:

我一直在玩它一些。我无法将PrincipalContextor LdapConnection连接到终端服务器上,但它们都在我的开发机器上工作。唯一可以连接的是DirectoryEntry。也许这将提供更多线索?

有什么建议吗?

+0

你有没有试过ContextOptions.Signing? –

+0

您的开发机器是否试图与同一个域名交谈?我的猜测是生产DC不允许基本认证。 –

+0

签名也不起作用。我连接到相同的域名...我指向完全相同的服务器。我在生产网络上,只是没有加入到域中。 –

回答

0

我设法弄明白了。这是我从中运行应用程序的文件夹的某种权限问题。希望这可以帮助未来的人。

+1

你必须设置什么权限?请提供更多信息。 –

相关问题