我有一个驻留在网络驱动器上的应用程序。
当程序从桌面上的XP计算机或通过网络运行时,该程序适用于任何用户。当它从桌面上的Win 7运行时,它适用于所有人,但是当它通过网络从Win 7运行时,对于权限较少的用户来说它会失败。下面是代码。它在最后一行失败“Dim searchResult As SearchResult = directorySearcher.FindOne”
Dim adpath As String = "LDAP://OU=orgOU,DC=ad,DC=orgDC,DC=edu"
Dim directoryEntry As New DirectoryEntry(adpath)
directoryEntry.AuthenticationType = AuthenticationTypes.Secure
Dim directorySearcher As New DirectorySearcher(directoryEntry)
directorySearcher.Filter = getFilter(samAccountName)
directorySearcher.SearchScope = SearchScope.Subtree
Dim searchResult As SearchResult = directorySearcher.FindOne
有人能告诉我网络权限中缺少什么吗?
答案 0 :(得分:1)
您似乎使用无服务器绑定,请尝试设置:
AuthenticationType = AuthenticationTypes.Secure | AuthenticationTypes.ReadonlyServer
来自AuthenticationTypes.ReadOnlyServer
上的MSDN文档:
对于Active Directory域服务,此标志表示无服务器绑定不需要可写服务器。
此外,您应该处理您的一次性物品,最好使用Using语句。类似的东西:
Using directoryEntry = New DirectoryEntry...
Using directorySearcher = new DirectorySearcher(...