2

.NET の LDAP タイプを使用して OpenDS に接続する方法に関するチュートリアルをいくつか見つけようとしましたが、役に立ちませんでした。OpenDS をディレクトリ サービスとして使用し、C# を使用して OpenDS にアクセスして操作するための優れたサンプルが含まれている記事/チュートリアルを教えてください。

これは私がこれまでに試したことですが、常に無効なユーザー名/パスワードのエラーが発生します。どの資格情報を入力する必要があるのか​​ 、または私がやろうとしていることがまったく意味があるのか​​ で行き詰まっています。

DirectoryEntry directoryEntry = new DirectoryEntry
                                            {
                                                Path = @"LDAP://SUnnikris-va-d:389/dc=example,dc=com",
                                                Username = "uid=user.0",
                                                Password = "TestPass!",
                                                AuthenticationType = AuthenticationTypes.ServerBind
                                            };

        directoryEntry.RefreshCache();

        DirectoryEntry newUser = directoryEntry.Children.Add("uid=nuser,ou=People,dc=example,dc=com", "person");
        newUser.Properties["objectClass"].Value = new object[] { "top", "person", "organizationalPerson", "inetorgPerson" };
        newUser.Properties["uid"].Value = "nuser";
        newUser.Properties["givenName"].Value = "new";
        newUser.Properties["sn"].Value = "user";
        newUser.Properties["cn"].Value = "new user";
        newUser.Properties["userPassword"].Value = "nuser";
        newUser.CommitChanges();
4

2 に答える 2

1

ユーザー名が間違っていると思います。ユーザー名の完全なLDAPパスを入力する必要があります。つまり、uid = admin、ou = AdminOU、dc = example、dc = com

System.DirectoryServices.AccountManagementを使用して簡単に実装することもできます。こちらをご覧ください-> http://anyrest.wordpress.com/2010/06/28/active-directory-c/

于 2010-09-14T22:12:28.587 に答える
0

私はそれを理解しました.OpenDSは管理用のスーパーユーザーとして正規名を使用しています. 基本的に、問題は使用していた資格情報にあり、これを指定する必要があった uid ではありませんでした:-

NetworkCredential myCreds = new NetworkCredential("cn=Directory Manager", "TestPass!");
于 2010-09-15T17:49:09.603 に答える