- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我需要从远程机器通过 SSL 连接到 LDAP;对此有很多讨论,但其中发布的解决方案只能在同一台 Windows Server 域机器上工作;相同的代码无法从远程计算机成功连接;
我试过的代码:
DirectoryEntry entry = new DirectoryEntry("LDAP://fqdn:636/DC=aa,DC=bb", "username", "password");
DirectorySearcher searcher = new DirectorySearcher();
searcher.SearchRoot = entry;
searcher.SearchScope = SearchScope.Subtree;
searcher.Filter = "(&(objectCategory=person)(objectClass=user))";
SearchResultCollection results = searcher.FindAll();
再说一遍,我能够从同一个 WindowsServer 域机器上获得结果;但是当我从远程计算机尝试相同的代码时,出现异常“服务器无法运行”;
我发现这是由于证书验证失败,即 Windows Server 的证书未在远程机器上验证;但我不知道如何覆盖“DirectoryEntry 对象”的证书验证;
这post有证书问题的解决方案;但它用于“LdapConnection”
但我需要DirectoryEntry API 的解决方案;
仅供引用;这post对 Java 提出了同样的问题,但没有答案;我的要求是C#
最佳答案
很遗憾,DirectoryEntry
没有可用的证书覆盖。
您必须使用 System.DirectoryServices.Protocols 中的较低级别的 LdapConnection
和 LdapDirectoryIdentifier
类命名空间。
转换您的代码应该不会太困难,这样做,您将能够处理本地和远程目录资源。我不久前遇到了同样的问题,我写了一篇关于为什么会这样以及如何解决它的广泛帖子 - 检查一下:
Set callback for System.DirectoryServices.DirectoryEntry to handle self-signed SSL certificate?
关于c# - 使用 "DirectoryEntry"API 从远程计算机通过 ssl 连接到 LDAP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31184965/
我将用户的 SID 设为 byte[]在 windowsPrincipal.getIdentity().getSid() 内. 如何从 SID 获取 Active Directory 条目 (Dire
当我尝试从事件目录中检索“AccountExpirationDate”时遇到一个奇怪的问题。 我使用以下代码检索用户: DirectoryEntry dirEntry = new Di
我有一个DirectoryEntry代表用户的对象。来自DirectoryEntry.Properties集合,我正在检索 "manager"属性,这将为我提供用户经理的专有名称(“DN”)值。 我可
我的目标是从远程服务器获取网站名称列表。但我得到了异常(exception): The RPC server is unavailable. 代码如下: public List GetWebS
在代码中,我使用此代码将计算机帐户移动到另一个事件目录 OU 中。 DirectoryEntry eLocation = new DirectoryEntry("LDAP://" + DevicePa
您好,我有一个运行的 exe,它在我登录的域帐户的上下文中运行。该代码仅查询特定 OU 下用户的事件目录。我从加入林的机器上运行此代码:CompanyNameDomain.NET。 现在安全团队要求我
我正在尝试使用 DirectoryEntry 获取对 AD 的访问权限。我们有一个“OU=Company Users”,然后是“OU=Applications”。我的个人用户帐户在 Company U
我成功地模拟了一个用户帐户,但我无法使用模拟帐户绑定(bind)到 AD 并拉下 DirectoryEntry。 下面的代码输出: 在模拟之前我是:DOMAIN\user 模拟后我是:DOMAIN\a
我想知道用户帐户是否启用。我使用这段代码: var usersList = new List(); DirectoryEntry localMachine = new DirectoryEnt
在您将此问题作为重复问题彻底关闭之前,值得注意的是答案无效。 到目前为止,这是我尝试过的: 第一次尝试是在记录上使用 .InvokeSet: adUser.InvokeSet("department"
我正在使用这种在当前域中查找用户的简单方法,它适用于“存在”的所有用户,但我找不到任何方法来确定该用户是否不存在。 string userLDAP = @"MYDOMAIN/username"; st
我有以下代码从用户的 SID 加载用户的 Active Directory DirectoryEntry 对象: public static DirectoryEntry GetUserDirecto
今天发现一件奇怪的事。我正在从事的项目中有一些这样的代码: var directoryEntry =new DirectoryEntry( ConfigurationManager.AppSe
我有一个控制台应用程序,它列出了 IIS 中的网站绑定(bind) using (var directoryEntry = new DirectoryEntry("IIS://localhost/w3
我有一个现有的 DirectoryEntry 连接,我想检查用于创建此 DirectoryEntry 的用户是否属于特定组。任何人都知道如何实现这一点? 谢谢,舒奇 最佳答案 我不认为有任何神奇、简单
谁能解释一下使用 LdapConnection/SearchRequest 和 DirectoryEntry/DirectorySearcher 在 ActiveDirectory 中搜索用户之间的区
我正在尝试创建 DirectoryEntry 的实例,以便我可以使用它来测试一些将传递给 DirectoryEntry 的代码。然而,尽管进行了很多尝试,我还是找不到一种方法来实例化 DE 并初始化它
你好, 我有以下代码从当前 AD 创建树: public static ActiveDirectory GetActiveDirectoryTree(string pathToAD = "") {
我只需要用户所属组的 commonName。 DirectoryEntry user = new DirectoryEntry("LDAP://cn=myuser...."); foreach(str
我正在登录页面工作,逻辑就像 -> try { DirectoryEntry LDAPLogin = new DirectoryEntry(ConfigurationSettings.AppS
我是一名优秀的程序员,十分优秀!