将对象类定义导入到 Active Directory (AD LDS)

2024-04-02

我在将对象类定义从 OpenDS 迁移到 Active Directory 时陷入困境。我已经成功迁移了some定义(并且可以使用我的 Java 应用程序读取/写入 AD) - 但现在我陷入困境。

在我的 OpenDS 模式描述中,我有这样的内容:

objectClasses: ( 1.3.6.1.4.1.99.2
  NAME 'myNewClass'
  SUP top STRUCTURAL
  MUST ( myAttribute1 $ myAttribute2 $ myAttribute3 )
  MAY someOtherAttribute
  )

我将其转换为 AD 架构语法,如下所示:

# Class: myNewClass
dn: cn=myNewClass,cn=Schema,cn=Configuration,dc=X
changetype: add
objectClass: classSchema
governsID: 1.3.6.1.4.1.99.2
ldapDisplayName: myNewClass
adminDisplayName: myNewClass
objectClassCategory: 0
systemOnly: FALSE
# subclassOf: top
subclassOf: 2.5.6.0
# rdnAttId: myAttribute1 
rdnAttId: 1.3.6.1.4.1.99.1
# mustContain: myAttribute2 
mustContain: 1.3.6.1.4.1.99.2
# mustContain: myAttribute3 
mustContain: 1.3.6.1.4.1.99.3
# mayContain: someOtherAttribute
mayContain: 1.3.6.1.4.1.99.4
# possSuperiors: organizationalUnit
possSuperiors: 2.5.6.5
# defaultObjectCategory: myNewClass
defaultObjectCategory: cn=myNewClass,cn=Schema,cn=Configuration,dc=X

但是当我尝试编写 myNewClass 类的对象时,我收到此异常:

javax.naming.InvalidNameException: "myAttribute1=Read+myAttribute2=Allow+myAttribute3=cn\=someResource": [LDAP: error code 34 - 0000208F: LdapErr: DSID-0C090715, comment: Error processing name, data 0, v1db1 ];

我认为问题是 rdnAttId,这在 AD 中似乎是必不可少的(而不是在 OpenDS 中)。我只能将其设置为单个值(因此我选择了 myAttribute1),但它不应该更像 myAttribute1 AND myAttribute2 AND myAttribute3 吗?

做什么呢?


好的,这是一个带有类创建的 LDIF 示例。你应该听从我的建议。首先,使用 Microsoft 管理控制台创建它,然后使用 LDIFDE.EXE 导出它,清理 LDIFDE,然后就可以将其导入到其他 AD 中。

dn: CN=SlxOeuvre,CN=Schema,CN=Configuration,DC=XXXX
changetype: add
objectClass: top
objectClass: classSchema
cn: SlxOeuvre
distinguishedName: CN=SlxOeuvre,CN=Schema,CN=Configuration,DC=XXXX
instanceType: 4
possSuperiors: organizationalUnit
subClassOf: top
governsID: 1.3.6.1.4.1.10558.2.2.1
mustContain: SlxTitre
mayContain: SlxChapitres
mayContain: SlxEditeur
mayContain: SlxGenre
mayContain: SlxLangue
mayContain: SlxPages
rDNAttID: cn
showInAdvancedViewOnly: TRUE
adminDisplayName: SlxOeuvre
objectClassCategory: 1
lDAPDisplayName: SlxOeuvre
name: SlxOeuvre
systemOnly: FALSE

在活动目录中rDNAttID是用于创建相对可分辨名称的属性的名称。从理论角度来看,你可以选择你想要的。从实际角度来看,除了CN.


Edited :

创建属性后,请小心重新加载架构,以便它们可用于创建类。这是换向器:

dn:
changetype: modify
add: schemaUpdateNow
schemaUpdateNow: 1
-

Edited :

由于您的 DN 是cn=myNewClass,cn=Schema,cn=Configuration,dc=X您必须将 CN 添加到属性 dn:cn:myNewClass(抛出它应该自动添加)。


编辑: 根据微软文档 http://msdn.microsoft.com/en-us/library/cc223167.aspx :

就RDN而言,Active-Directory模型和LDAP数据模型之间的对应关系如下。一个对象及其属性和值对应于一个 LDAP 条目及其属性和值。该模型和 LDAP 在 objectClass 属性的定义上达成一致。该模型中 RDN 的定义是 LDAP 定义的子集;该模型中的所有 RDN 都是有效的 LDAP RDN,但反之则不然。例如,以下多值 RDN 是有效的 LDAP RDN,但在此模型中无效:“cn=Peter Houston+employeeID=ABC123”。给定 RDN 定义,该模型中 DN 的定义与 LDAP 的定义相同。在 LDAP 数据模型中,子-父关系用子和父的 DN 表示,而在 Active Directory 数据模型中,子-父关系用父属性表示,并且 DN 是派生的。 Active Directory 不通过 LDAP 公开模型的父属性。

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

将对象类定义导入到 Active Directory (AD LDS) 的相关文章

  • Active Directory 中的用户/组权限

    在哪里可以找到执行以下操作的示例 从 Active Directory 中提取用户 获取用户所属的组 获取分配给每个组的权限列表 这似乎是一个简单的任务 但我找不到解决方案 总体目标是分配自定义权限并使用它们来控制应用程序内的权限 如果您使
  • 如何让 Get-ADUser 在针对特定服务器时表现更好?

    我正在从域中的所有用户获取一系列属性 如果我不指定特定的域控制器 查询将在不到一秒的时间内返回有效结果 如果我指定目标控制器 即使在最近的域控制器上 结果也需要 18 秒才能返回 唯一的区别是我使用了目标服务器 Server serverN
  • 如何使用 Java 连接到 Active Directory

    我使用的是Weblogic Ejb3 0 爪哇1 6 我需要通过 Java 代码访问 Active Directory 我读到了几种方法 Kerberos LDAP 有人可以建议我以舒适的方式这样做吗 我在哪里可以有一些完整的代码示例 谢谢
  • 从 System.DirectoryServices 切换到 DirectoryServices.Protocols 时的身份验证类型

    我需要知道 AuthenticationTypes 中的等效 AuthType 值 才能从 S DS 迁移到 S DS P 代码 我正在重写当前使用 System DirectoryServices 命名空间的 LDAP 连接模块 为了提高
  • ValidateCredentials 对于未知用户返回 true?

    我在这里看到一些奇怪的行为PrincipalContext ValidateCredentials 该设置是父 子设置中的两个 Active Directory 域 因此我们有主域company com和子域development comp
  • 如何可靠地检查工作站上当前用户的 Windows 域 ID

    我正在使用 C 和 Net Framework 4 我正在寻找一种万无一失的方法来获取当前登录的 Windows 用户的登录 ID 该方法不易被假冒或黑客攻击 我正在以以下形式查找此内容 域名 用户名 例如某个域 JohnDoe 目前我拥有
  • Get-ADGroupMember:超出了此请求的大小限制

    我正在尝试从文本文件中提取群组 但我的一个群组太大了 有 80 000 人 我如何让它发挥作用 它会按照我想要的方式输出 groups Get Content c temp ADGroups txt foreach group in gro
  • WhenCreated 上的 Get-ADUser 筛选器适用于 -lt 但不适用于 -gt

    我试图搜索在指定日期之后创建的用户 但它总是不返回任何结果 如果我改变 gt ge 到 lt le它正确地提取结果 所以这应该是可行的 我知道我可以过滤所有内容 然后执行Where Object 来过滤gt ge 但我确实需要过滤器发生在服
  • 使用 ASP.NET 获取 Active Directory 信息,无需用户名和密码

    我正在尝试从 ASP NET Web 应用程序获取本地网络上用户的 Active Directory 信息 Web 应用程序运行在IIS在本地网络上 我想要的 当用户登录网站时 他们可以从 Active Directory 中看到自己的名字
  • 使用 Microsoft.Web.Administration 远程管理 IIS 时身份验证期间出现 COMException

    设想 我需要远程管理与请求更改的服务器位于同一域的 IIS 服务器 创建和销毁应用程序 我有一个应用程序池设置为在授权帐户下运行 我已经使用 IIS 管理器和 Web 池成功运行的帐户测试了远程配置 因此我知道权限是正确的 我通过代码执行此
  • Powershell查找7天内过期的用户

    我正在尝试运行一个 powershell 脚本来查询 7 天内过期的帐户 我目前有 a 获取日期 AddDays 7 搜索 ADAccount AccountExpiring 时间跨度 7 选择对象 SamAccountName Accou
  • Azure 应用服务 Active Directory 身份验证访问被拒绝

    我们有一个 Web 应用程序 正在从 Azure 经典云服务过渡到应用服务 Web 应用程序 经典云服务位于包含我们的域控制器 常规 AD 而不是 Azure AD 的 vnet 上 应用程序服务使用 VNET 集成 因此它连接到我们的 v
  • 如何从 C# 中的显示名称获取 Active Directory 中的用户名?

    我希望能够使用 Active Directory 中用户的显示名称来获取该用户的用户 ID 显示名称是从数据库中获取的 并且已在该用户会话期间使用以下代码来存储以获取显示名称 using System DirectoryServices A
  • 如何使用 C# 更新 Active Directory 属性。

    如何使用 C 更新 Active Directory 属性 就我而言 我有以下情况 对于每个用户都有一个WhenCreatedAD 中的属性 但我想要的是 如果whenDate设置的时间少于 30 天info归因于NEW在活动目录中 我怎样
  • 动态获取当前LDAP路径

    我正在使用 C 和 NET Framework 4 0 开发一个库 我想检索所有活动目录用户 它效果很好 但我的问题是 如果我在另一个域上运行我的程序 我必须更改此设置 private static string ldapPath LDAP
  • Active Directory:获取用户所属的组

    我想找到用户所属的组列表 我尝试了几种解决方案http www codeproject com KB system everythingInAD aspx http www codeproject com KB system everyth
  • 类似于 Active Directory 中的搜索

    我正在使用 C 中的以下代码搜索 LDAP 以轮询用户的活动目录 DirectoryEntry entry new DirectoryEntry ldapPath userName password DirectorySearcher Se
  • Asp net Core 获取用户Windows用户名

    在ASP net CORE mvc中构建内联网 我需要获取当前用户的Windows用户名进行登录 我不需要使用Windows身份验证自动登录用户 我已经有一个自定义登录控制器来做到这一点 我只需要他的用户名 它在本地工作正常 但在 IIS
  • AD、ADFS 与 LDAP:像我 5 岁一样解释一下

    我没有与 Microsoft 合作 但我很难从概念上理解 AD ADFS 和 LDAP 如何协同工作 假设我有一个需要身份提供者的应用程序 AD 和 LDAP 如何发挥作用 我的谷歌搜索还没有为我提供这些概念的清晰总结 但如果有存在的资源
  • 在 .Net 应用程序中使用 Active Directory Web 服务

    我正在尝试构建一个 Net 应用程序来询问 Active Directory 编辑 我需要使用 Web 服务来执行此操作 因为我将使用需要使用 Web 服务的第三方工作流工具从 Sharepoint 工作流与 AD 进行通信 根据我的研究

随机推荐