限制 LDAP 查询中返回的属性

2024-05-20

如何限制通过 System.DirectoryServices 在 LDAP 查询中返回的属性?

我一直在使用 DirectorySearcher 并将我想要的属性添加到 DirectorySearcher.PropertiesToLoad。问题是,这只是确保添加的属性包含在 DirectoryEntry.Properties 以及一些默认列表中。有什么方法可以指定您想要返回的唯一属性吗?

DirectoryEntry base = new DiectoryEntry(rootPath, null, null, AuthenticationTypes.FastBind);
DirectorySearcher groupSearcher = new DirectorySearcher(base);
groupSearcher.Filter = "(objectClass=group)";
groupSearcher.PropertiesToLoad.Add("distinguishedName");
groupSearcher.PropertiesToLoad.Add("description");
foreach (SearchResult groupSr in groupDs.FindAll())
...

在 foreach 循环内,当我获取组 DirectoryEntry 时,我可以访问大约 16 个不同的属性,而不仅仅是我指定的两个(distinguishedName、description)


您限制的内容是将可用/填写在您的属性中SearchResult对象 - 您可以直接在您的foreach loop:

DirectoryEntry baseEntry = new DirectoryEntry(rootPath, null, null, AuthenticationTypes.FastBind);

DirectorySearcher groupSearcher = new DirectorySearcher(baseEntry);
groupSearcher.Filter = "(objectClass=group)";

groupSearcher.PropertiesToLoad.Add("distinguishedName");
groupSearcher.PropertiesToLoad.Add("description");

foreach (SearchResult groupSr in groupSearcher.FindAll())
{
   if(groupSr.Properties["description"] != null && groupSr.Properties["description"].Count > 0)
   {
      string description = groupSr.Properties["description"][0].ToString();
   }

  .....
} 

您不能限制实际的属性DirectoryEntry- 所以如果你去获取每个的目录条目SearchResult- 您可以完全访问所有内容。但重点是您可以定义所需的属性并访问这些属性directly on the SearchResult, without必须回到底层DirectoryEntry

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

限制 LDAP 查询中返回的属性 的相关文章

随机推荐

  • 我如何查看 quantmod 包中所有可用的数据系列?

    如何显示可用的所有报价 数据系列的列表 例如使用雅虎的 getSymbols 我不知道有什么办法 TTR包有一个功能 stockSymbols 下载 NYSE AMEX 和 NASDAQ 的所有当前代码 它试图将它们采用雅虎可接受的格式 但
  • Objective C UIImagePNGRepresentation内存问题(使用ARC)

    我有一个基于 ARC 的应用程序 它从 Web 服务加载大约 2 000 个相当大 1 4MB 的 Base64 编码图像 它将 Base64 解码后的字符串转换为 png图像文件并将其保存到磁盘 这一切都是在一个循环中完成的 我不应该有任
  • Crashlytics Android 应用程序包中缺少 NDK 符号

    Firebase Crashlytics 符号上传不适用于 Android 应用程序包 AAB 按照此处的说明完成设置 https firebase google com docs crashlytics get started andro
  • 非 DOM 对象上的 jQuery 自定义事件

    我最近阅读了一些代码 其功能如下 bob name Bob Smith rank 7 bob bind nameChanged function bob trigger nameChanged 这似乎有效 但我在 jQuery 文档或源代码
  • 主线程如何在该线程之前运行?

    我有以下代码 public class Derived implements Runnable private int num public synchronized void setA int num try Thread sleep 1
  • 如何将参数从 Excel/VBA 传递到 Rstudio 中的脚本

    我正在尝试使用 Rstudio 从 VBA 打开 R 脚本 同时将参数传递给 R 脚本 然后我可以使用 commandArgs 访问该脚本 该问题与此处描述的问题非常相似 WScript Shell 用于运行路径中包含空格且来自 VBA 的
  • ruby 字符串到哈希值的转换

    我有一个这样的字符串 str uu p xx m yy n zz m 我想知道如何将给定的字符串转换为哈希值 即我的实际要求是 有多少个值 符号之前 有m n和p 我不需要计数 我需要一个精确的值 这样输出效果会更好 m gt xx zz
  • Modernizr - 加载 polyfills / 使用自定义检测的正确方法

    我想在网页上使用一些新的 HTML5 表单属性和输入类型 有些浏览器已经支持它们 有些浏览器不支持 也永远不会支持 这就是我想使用 Modernizr 的原因 这就是我的麻烦开始的原因 据我了解 Modernizr 本身并不是一个 poly
  • 使用动态 linq 分组后访问密钥

    Using 系统 动态 Linq https github com kahanu System Linq Dynamic我有一个 group by 语句 如下所示 var rowGrouped data GroupBy rGroup str
  • 基于非 HTTP 协议的 REST 示例

    REST 在 HTTP 之外的其他协议上的工作效果如何 对于使用 REST 或可能使用 REST 的协议 是否有任何好的示例 我认为你不会找到很多 但是here https datatracker ietf org doc draft ie
  • 如何将字符串拆分为字符串数组?

    Actually i am reading an xps file in to my Program My xps file should be like this 我粘贴以下代码 List
  • 我可以知道 requireGestureRecognizerToFail 到底会做什么吗?

    谁能告诉我下面的代码行到底会做什么 我已经提到过Apples https developer apple com library ios documentation uikit reference UIGestureRecognizer C
  • 我可以在扩展方法中设置小数变量的值吗? [复制]

    这个问题在这里已经有答案了 我创建了一个void可以使用的扩展方法decimal数据类型 我希望能够修改this方法范围内的参数变量 这是我的扩展方法的代码 public static void SetAndConvertIfHasValu
  • 用于虚拟继承的虚拟函数表中的虚拟基偏移量

    代码如下 在Ubuntu 16 04上用G 5 4编译的C 11代码 include
  • jasper 报告 pdf 导出中忽略半透明(半透明)背景色

    问 为什么保存为 PDF 时 Alpha 信息会丢失 Jaspersoft studio 不允许我用 Alpha 指定颜色 因此 我尝试聪明地在着色元素上指定键 并更改代码中的颜色 如下所示 JasperReport jasperRepor
  • SSDT项目中模式对象的条件编译

    我们的 SSDT 数据库项目包括一个表 该表具有一个计算列 该计算列可以根据客户要求采用多种形式之一 我试图弄清楚如何管理这个计算列 以便我们仍然可以使用发布功能 而无需将每个人的列恢复为默认值 我想要完成的任务可以在下面解释invalid
  • 使用 ASP 将参数传递给存储过程

    我正在尝试将一些参数传递给经典 ASP 中的 SQL 存储过程 我看过几篇关于此的帖子 不确定我做错了什么 因为我似乎没有看到我的差异 set conn CreateObject ADODB Connection conn open DSN
  • Win 10 应用程序:删除 Toast 通知

    我显示 toast 通知 然后它会显示在通知中心上 然后我想以编程方式从通知中心删除该通知 我怎样才能做到这一点 在显示通知和我需要删除它之间 该应用程序可能会关闭并重新启动 您可以使用以下方法之一以编程方式从操作中心删除通知 Toast通
  • Node js 使用中间件重定向进行过多重定向

    在我的 Node js 应用程序 我使用的是express 4 x 中 我想检查用户是否已登录 如果用户未登录 我想重定向到我的登录页面 然后我在中间件中这样做 服务器 js app use function req res next if
  • 限制 LDAP 查询中返回的属性

    如何限制通过 System DirectoryServices 在 LDAP 查询中返回的属性 我一直在使用 DirectorySearcher 并将我想要的属性添加到 DirectorySearcher PropertiesToLoad