最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

活动目录 LDAP获取特定的NodeJS属性,数据类型或语法

运维笔记admin12浏览0评论

活动目录/ LDAP获取特定的NodeJS属性,数据类型或语法

活动目录/ LDAP获取特定的NodeJS属性,数据类型或语法

我能够查询主动目录/ LDAP与自定义属性相处的用户信息。不过,我想知道基本数据类型/ attributeSyntax为每个属性的返回。另一个问题是,该查询将不会返回属性本身,如果它不包含任何价值。所以,如果能得到获取属性和它们各自的数据类型,然后它为我提供了灵活设置的数据类型的默认值筑底,同时准备最终的输出对象。

例如:1。我查询AD找到与属性foogivenNamemailmyCustom1 myCustom2用户

{
    givenName : "foo foo",
    mail : "[email protected]",
    myCustom1 : "TRUE"
}

但可能不包含myCustom2,因为它不是在AD保持的值。

  1. 获得属性givenNamemailmyCustom1myCustom2语法
{
    givenName : unistring,
    mail : unistring,
    myCustom1 : boolean,
    myCustom2 : integer,
}
  1. 使用上述我可以映射所述第一结果和准备最终的对象作为
{
    givenName : "foo foo"
    mail : "[email protected]"
    myCustom1 : "TRUE"
    myCustom2  : //usingHelperFunctionGetDefaultValueFor -> myCustom2
}
回答如下:

活动总监不返回没有值的属性,所以这不只是LDAPjs库,这是AD是如何工作的。

每个对象都有名为allowedAttributes的属性,它会告诉你每一个有效的属性,对象都可能有。

如果你需要它,allowedAttributesEffective会列出每个属性当前用户有权修改。

这些都是构建属性,这意味着你必须特别要求他们,否则你不会得到他们。例如,在搜索时,你必须指定要取回属性的选项。如果指定了什么,你会得到具有价值的每个非构造的属性。如果您想要的任何构造属性,你必须明确将其添加到该列表。

这只是一个属性列表。它不会告诉你的类型。你不得不考虑的模式为,这是比较困难的。你所要做的使用基本CN=Schema,CN=Configuration,DC=domain,DC=com的DN,其中“domain”是你林的根域,这可能会或可能不会是一样的,你要搜索的域名进行搜索。你可以看任何物体找到模式的位置的subSchemaSubEntry属性,但它通常会CN=Aggregate,CN=Schema,CN=Configuration,DC=domain,DC=com(注意添加CN=Aggregate)。

但无论如何,在那里每个对象有一个名为ldapDisplayName的属性,这是因为它出现在对象属性的名称。

所以,如果你想找到的givenName属性的细节,你会搜索(ldapDisplayName=givenName)模式。然后oMSyntax属性是一个枚举,将告诉你的类型。枚举值示here。对于givenName,这将是64,这是一个Unicode字符串。

要查找的类型,如这样做的唯一好处是,如果你期待你的代码,可在任何AD环境中运行。如果你的代码将永远只能在一个环境中运行,那么你就可以节省编码时间,并通过刚刚硬编码你正在寻找和类型的属性运行时间。

发布评论

评论列表(0)

  1. 暂无评论