C# 允许从windows服务访问LDAP

C# 允许从windows服务访问LDAP,c#,permissions,ldap,C#,Permissions,Ldap,我正在构建一个windows服务,该服务轮询windows文件共享位置,以查找包含LDAP中可能找到的成员的文件。windows服务正在作为域上的特定用户运行,以访问文件共享。此用户位于运行服务的服务器上和LDAP所在的管理员组中 我遇到的问题是,获取文件工作正常,但在访问LDAP时,我遇到以下异常: LDAPService.Program-异常:发生操作错误。 InnerEx: ===STACKTRACE=== LDAPService.Program-at System.DirectorySe

我正在构建一个windows服务,该服务轮询windows文件共享位置,以查找包含LDAP中可能找到的成员的文件。windows服务正在作为域上的特定用户运行,以访问文件共享。此用户位于运行服务的服务器上和LDAP所在的管理员组中

我遇到的问题是,获取文件工作正常,但在访问LDAP时,我遇到以下异常:

LDAPService.Program-异常:发生操作错误。 InnerEx:

===STACKTRACE===
LDAPService.Program-at System.DirectoryServices.DirectoryEntry.Bind(布尔throwIfFail)
位于System.DirectoryServices.DirectoryEntry.Bind()处 System.DirectoryServices.DirectoryEntry.RefreshCache()

===基本EXC===
LDAPService.Program-System.DirectoryServices.DirectoryServicesCOMException(0x80072020):发生操作错误

搜索此错误有很多关于ASP.NET和使用
Impersonate()
的内容。但那没用

如果我将windows服务更改为以本地系统帐户登录,则访问LDAP没有问题(但无法访问windows文件共享)


我应该查看哪些其他设置

我使用了两个不同的LDAP目录,但忘记为第二个目录提供user/pass。我只给了第一个


我们在瑞典称之为SBS的一个经典例子(短剧Bakom Spakarna).

听起来您需要管理员使用系统帐户设置您的应用程序。这听起来像是本地登录或运行应用程序时的权限问题。当然,如果您在AD或LDAP中,您的网络凭据将被识别,但当应用程序在其他机器上运行时,LDAP对其一无所知。。您是否拥有或使用应用程序的任何域/用户登录。。?实际上,我会远离
Impersonate
这听起来不像是一个通过网络的安全机制。。