【发布时间】:2014-10-11 11:24:07
【问题描述】:
我正在构建一个 Windows 服务,该服务轮询 Windows 文件共享位置以查找包含可能在 LDAP 中找到的成员的文件。 Windows 服务作为域上的特定用户运行以访问文件共享。此用户在运行服务的服务器上和找到 LDAP 的位置的管理员组中。
我遇到的问题是获取文件工作正常,但是在访问 LDAP 时出现以下异常:
LDAPService.Program - 异常:发生操作错误。 内测:
=== 堆栈跟踪 ===
LDAPService.Program - 在 System.DirectoryServices.DirectoryEntry.Bind(布尔 throwIfFail)
在 System.DirectoryServices.DirectoryEntry.Bind() 在 System.DirectoryServices.DirectoryEntry.RefreshCache()=== BASE EXC ===
LDAPService.Program - System.DirectoryServices.DirectoryServicesCOMException (0x80072020):发生操作错误。
搜索这个错误有很多关于 ASP.NET 和使用Impersonate()。但这没有帮助。
如果我将 windows 服务更改为以本地系统帐户登录,那么访问 LDAP 就没有问题(但我无法访问 windows 文件共享)。
我应该查看哪些其他设置?
【问题讨论】:
-
听起来您需要让管理员使用系统帐户设置您的应用程序这听起来像是您在本地登录或运行应用程序时的权限问题当然如果您在AD 或 LDAP,但当应用程序在不同的机器上运行时,LDAP 对应用程序一无所知..您是否拥有或使用任何域/用户登录与应用程序..?我实际上会远离
Impersonate听起来不像是通过网络的安全机制..
标签: c# permissions ldap