将用户添加到 ADAM 中的角色时出错(发生约束冲突。(来自 HRESULT 的异常:0x8007202F)
Posted
技术标签:
【中文标题】将用户添加到 ADAM 中的角色时出错(发生约束冲突。(来自 HRESULT 的异常:0x8007202F)【英文标题】:Error adding users to roles in ADAM (A constraint violation occurred. (Exception from HRESULT: 0x8007202F) 【发布时间】:2009-06-17 09:32:06 【问题描述】:我在尝试将用户添加到组时收到错误消息。
发生约束冲突。 (HRESULT 异常:0x8007202F)
public string addUserToGroup(string userDN, string groupDN)
try
DirectoryEntry de = new DirectoryEntry("LDAP://localhost:389/" + groupDN);
de.Username = "myUsername";
de.Password = "myPassword";
de.Properties["member"].Add(userDN);
de.CommitChanges();
de.Close();
//return true;
return "yes";
我不确定这是否与我设置 ADAM 的方式有关,因为我使用了应用程序目录分区。所以我有一个CN=sandbox,DC=ITOrg
的 DN,然后我有 3 个目录分区,如下所示:
CN=sandbox,CN=testApp1,DC=ITOrg
CN=sandbox,CN=testApp2,DC=ITOrg .. etc
我的用户只存储在CN=sandbox,DC=ITOrg
,但我想让用户访问 1 个或多个分区,所以我试图添加用户的 CN
CN=1@test.com,CN=People,CN=sandbox,DC=ITOrg
到这里:
CN=Readers,CN=Roles,CN=sandbox,CN=testApp1,DC=ITOrg
这不起作用。虽然如果我将用户添加到CN=Readers,CN=Roles,CN=sandbox,DC=ITOrg
中的角色,代码确实有效。那么这是否意味着我必须在每个分区中存储用户?重复数据?
有人有什么想法吗?
【问题讨论】:
【参考方案1】:通常,您还必须在“直接 AD”上的新用户条目上至少设置 SAM 帐户名称 - 不确定这是否也适用于 ADAM。
马克
【讨论】:
抱歉不完全确定您所说的“直接广告”是什么意思——您介意再解释一下吗?谢谢 抱歉——我指的是完整的 Active Directory——不是 ADAM,而是实际的“AD”。 哦,好的,谢谢,我确实查看了需要哪些字段,但这似乎不是问题。经过更多阅读后,我认为问题在于我试图跨分区使用成员,而实际上它们应该被视为单独的“世界”【参考方案2】:您是否检查过您尝试创建的密码是否符合配置的密码策略?
此外,从您的示例来看,您似乎正在尝试以明文形式保存密码。我不熟悉 ADAM,但大多数 Auth & Auth 提供商要求您在尝试保存密码之前对密码进行哈希处理。
【讨论】:
以上是关于将用户添加到 ADAM 中的角色时出错(发生约束冲突。(来自 HRESULT 的异常:0x8007202F)的主要内容,如果未能解决你的问题,请参考以下文章