2012-01-05 21 views
1

カスタムリレーショナルデータベースソリューションではなく、多くのWebアプリケーションのユーザー管理にActive DirectoryでLDAPを使用することを考えています。これを行うときに高い学習曲線がありますか、それとも1,2,3のように簡単ですか?LDAPとActive Directoryの学習曲線

答えて

5

LDAPちょっと面白くて、伝統的なデータストアとは少し違っているので、間違いなく学習曲線が必要です。

最も挑戦的なのは、LDAPパスに "手をつけて"、それらを構築して使用する方法です。また、LDAPに接続する権限は常に問題になります。 LDAPストアのオブジェクトの検索を開始したい場合は、LDAPフィルタのややこしい構文も、あなたの脳を包むために少し難しいかもしれません:-)

話をしたり使いたいActive DirectoryをWindowsで使用している場合は、有用な情報がたくさんあるSelfADSIサイトを必ずチェックしてください。

.NET 3.5以降(C#、VB.NET)を使用している場合は、System.DirectoryServices.AccountManagement(S.DS.AM)をチェックアウトする必要があります。名前空間。ここではそれについてのすべてを読む:

基本的に、あなたはドメインコンテキストを定義し、簡単にADのユーザーおよび/またはグループを見つけることができます:

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

// find a user 
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, "SomeUserName"); 

if(user != null) 
{ 
    // do something here....  
} 

// find the group in question 
GroupPrincipal group = GroupPrincipal.FindByIdentity(ctx, "YourGroupNameHere"); 

// if found.... 
if (group != null) 
{ 
    // iterate over members 
    foreach (Principal p in group.GetMembers()) 
    { 
     Console.WriteLine("{0}: {1}", p.StructuralObjectClass, p.DisplayName); 
     // do whatever you need to do to those members 
    } 
} 

新しいS.DS.AM名前空間を使用すると、C#/ VB.NETのADでユーザーやグループと一緒に遊ぶのが本当に簡単になります!

0

LDAPサーバーとの対話コードの記述については"LDAP: Programming Practices"を参照してください。ベンダー固有のLDAP知識から堅牢で断熱性があります。インプリメンテーションに関する特定の知識を持つコードを記述すると、サーバー自体やサーバーの構成やロードバランサなど、サーバー実装の側面が変更されたときに予期しない結果が発生する可能性がある、インフラストラクチャに関連しています。

可能であれば、Microsoft固有のコードを記述したり、Microsoft固有の構成を作成したりしないでください。手紙にLDAP標準の文書に固執する。

+0

リンクありがとうございます。アンダーラインデータソースがActive Directoryであるクロスプラットフォームソリューションに準拠するLDAPを使用しないでください。 –

関連する問題