0

ユーザーをグループに追加しようとすると、エラーが発生します。

制約違反が発生しました。(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したがって、次のような 3 つのディレクトリ パーティションがある DN があります。

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。つまり、すべてのパーティションにユーザーを保存する必要があるということですか? データを複製しますか?

誰か考えがありますか?

4

2 に答える 2

0

作成しようとしているパスワードが、構成されたパスワード ポリシーに準拠しているかどうかを確認しましたか?

また、あなたの例から、パスワードを平文で保存しようとしているようです。私は ADAM に詳しくありませんが、ほとんどの Auth & Auth プロバイダーでは、パスワードを保存する前にパスワードをハッシュする必要があります。

于 2016-04-25T07:40:18.887 に答える