Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# LDAP端口636 DirectoryEntry属性不包含groupmembership,尽管LDAP包含groupmembership_C#_Ldap_Port_Directoryentry - Fatal编程技术网

C# LDAP端口636 DirectoryEntry属性不包含groupmembership,尽管LDAP包含groupmembership

C# LDAP端口636 DirectoryEntry属性不包含groupmembership,尽管LDAP包含groupmembership,c#,ldap,port,directoryentry,C#,Ldap,Port,Directoryentry,在C#中,我使用以下代码绑定到一个安全的LDAP站点 authServer = new DirectoryEntry("LDAP://whatever.com:636", authServerUsernameFromConfig, authServerPasswordFromConfig, AuthenticationTypes.Anonymous ); 然后搜索一个找到的用户 然后检查以下集合以查找“groupMembers

在C#中,我使用以下代码绑定到一个安全的LDAP站点

authServer =
    new DirectoryEntry("LDAP://whatever.com:636",
          authServerUsernameFromConfig,
          authServerPasswordFromConfig,
          AuthenticationTypes.Anonymous );
然后搜索一个找到的用户

然后检查以下集合以查找“groupMembership”的属性名称

但是,在使用636安全端口时未找到任何端口。还可以找到其他属性。绑定到非安全端口时,会找到所有属性,包括636绑定的属性和名为groupMembership的属性

有人能解释为什么会这样,或者如何检索它们吗

在中,使用LDP.exe实用程序可以通过安全端口636绑定查看这些groupMembership属性。

  • 目录信息树没有属性。目录信息库具有分组为条目的属性。属性可能是多值的,属性总是单值的
  • LDAP客户端不“绑定”到连接。LDAP客户机建立到安全端口(使用SSL)或非安全端口(如果客户机需要且服务器允许,则可以“升级”到安全连接)的连接。一旦建立了连接,该连接就没有授权状态。然后,LDAP客户端可以使用绑定操作请求服务器验证凭据并更改连接的授权状态。服务器使用连接的授权状态来确定使用该连接的客户端是否具有对条目和包含这些条目的属性的访问权限
  • 现代、专业质量的LDAP服务器能够在连接不安全的情况下拒绝对某些敏感属性的访问。如果LDAP客户端正在访问的服务器不具有此功能,则通过安全连接和非安全连接访问数据没有区别。这些旧服务器不区分安全连接和非安全连接以确定访问权限(连接的授权状态用于确定访问权限)
使用已知的好工具,如
ldapsearch
,验证LDAP客户端是否可以根据需要访问数据。如果已知良好的LDAP客户端可以访问数据,而手工编码的LDAP客户端无法访问数据,则检查搜索请求的以下参数:

  • 基本对象或基本DN。这是搜索开始的地方。不会返回高于基本对象的条目
  • 搜索的范围
    BASE
    仅返回条目和请求属性,
    ONE
    返回直接从属于基本对象的条目,
    SUB
    在任何级别上返回基本对象和所有条目的子坐标到基本对象
  • 过滤器。过滤器用于缩小搜索范围,由attributeType attributeValue断言组成,可以有多种不同的形式
  • 服务器将从与其他搜索参数匹配的条目返回的请求属性。如果未请求任何用户属性,则某些API(不是全部)将返回所有用户属性
另见
      • 目录信息树没有属性。目录信息库具有分组为条目的属性。属性可能是多值的,属性总是单值的
      • LDAP客户端不“绑定”到连接。LDAP客户机建立到安全端口(使用SSL)或非安全端口(如果客户机需要且服务器允许,则可以“升级”到安全连接)的连接。一旦建立了连接,该连接就没有授权状态。然后,LDAP客户端可以使用绑定操作请求服务器验证凭据并更改连接的授权状态。服务器使用连接的授权状态来确定使用该连接的客户端是否具有对条目和包含这些条目的属性的访问权限
      • 现代、专业质量的LDAP服务器能够在连接不安全的情况下拒绝对某些敏感属性的访问。如果LDAP客户端正在访问的服务器不具有此功能,则通过安全连接和非安全连接访问数据没有区别。这些旧服务器不区分安全连接和非安全连接以确定访问权限(连接的授权状态用于确定访问权限)
      使用已知的好工具,如
      ldapsearch
      ,验证LDAP客户端是否可以根据需要访问数据。如果已知良好的LDAP客户端可以访问数据,而手工编码的LDAP客户端无法访问数据,则检查搜索请求的以下参数:

      • 基本对象或基本DN。这是搜索开始的地方。不会返回高于基本对象的条目
      • 搜索的范围
        BASE
        仅返回条目和请求属性,
        ONE
        返回直接从属于基本对象的条目,
        SUB
        在任何级别上返回基本对象和所有条目的子坐标到基本对象
      • 过滤器。过滤器用于缩小搜索范围,由attributeType attributeValue断言组成,可以有多种不同的形式
      • 服务器将从与其他搜索参数匹配的条目返回的请求属性。如果未请求任何用户属性,则某些API(不是全部)将返回所有用户属性
      另见

      自从发现636没有影响所指出的结果以来,我们发现636没有影响所指出的结果
      DirectorySearcher directorySearch = new DirectorySearcher(authServer, filterKey);
      ...
      SearchResult result = directorySearch.FindOne();
      ...
      authUser = new DirectoryEntry(result.Path, userDN, password, AuthenticationTypes.None);
      ...
      (read) authUser.Properties.PropertyNames