1

私は LDAP と Active Directory の初心者です。

特定のコンピューターにアクセスできるユーザーの Active Directory を構築する必要があります。ユーザーが Web インターフェイス (C# で作成) にユーザー名とパスワードを入力すると、Active Directory への LDAP クエリを介して Active Directory に送信されます。ログインが成功すると、AD はユーザーの電子メール アドレスを返します。

上記のシナリオをローカルで実現するために Active Directory をセットアップすることは可能ですか? Windows 7 Ultimate を使用しています。LDAP アクセス用に ADAM をインストールしました。

よろしく、

ジョン。

4

1 に答える 1

3

.NET 3.5 以降を使用しているため、System.DirectoryServices.AccountManagement(S.DS.AM) 名前空間を確認する必要があります。ここでそれについてすべて読んでください:

.NET Framework 3.5 でのディレクトリ セキュリティ プリンシパルの管理

基本的に、ドメイン コンテキストを定義し、AD でユーザーやグループを簡単に見つけることができます。

// set up domain context
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);

// validate username/password combo
if (ctx.ValidateCredentials(username, password))
{
   // if valid - find user
   UserPrincipal user = UserPrincipal.FindByIdentity(ctx, username);

   if (user != null)
   {
                return user.EmailAddress;
   }
}

新しい S.DS.AM を使用すると、AD でユーザーやグループを簡単に操作できます。

ADAM (または今日の AD LDS と呼ばれる) の場合、次を使用できます。

PrincipalContext ctx = new PrincipalContext(ContextType.ApplicationDirectory);

ADAM ディレクトリとのコンテキストを確立するには - 確かではありませんが、使用するアプリケーション ディレクトリを知るために、何らかの形式の追加情報を提供する必要がある可能性があります (ADAM でこれを試したことはありません)。また、ADAMストアに対して資格情報を検証できるかどうかはわかりません....見て試してみる必要があります!

于 2011-04-29T05:54:44.333 に答える