- - PR -
ActiveDirectoryを用いて指定したユーザーのグループを取得したい
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-03-23 16:00
はじめまして。
現在、C#で開発をしています。 以前にActiveDirectoryを用いない方法を教えていただいたのですが、 グループ以外の情報もほしいのでActiveDirectoryを使用することにしました。 しかしSearchResultのPropertiesでprimarygroupidは取れるのですが グループ名が取れないようです。 何かいい方法があれば教えていただけますでしょうか。 よろしくお願いします。 **ソースの一部** DirectoryEntry drEntry = new DirectoryEntry("LDAP://xxx"); DirectorySearcher drSearch = new DirectorySearcher(drEntry); drSearch.Filter = "(samAccountName=" + System.Environment.UserName + ")"; drSearch.PropertiesToLoad.Add("primarygroupid"); foreach(System.DirectoryServices.SearchResult resEnt in drSearch.FindAll()) { MessageBox.Show(this, resEnt.Properties["primarygroupid"][0].ToString()); } |
|
投稿日時: 2004-03-23 16:53
Hasumiです。
以下の情報が参考になるかもしれません。 MSDNチュートリアル:アクティブディレクトリオブジェクトの追加 --追記-- こちらのほうがいいかも [HOWTO]フォーム認証とVisualC#.NETを使用してActiveDirectoryに対する認証を行う方法 Webアプリケーションの記事ですが、ユーザーが所属するグループの一覧を取得する個所があります。 [ メッセージ編集済み 編集者: Hasumi 編集日時 2004-03-23 17:36 ] |
|
投稿日時: 2004-03-23 18:55
Hasumiさん、いつもご返答ありがとうございます。
追記でいただいたほうを試してみたのですが GetGroups()の SearchResult result = search.FindOne(); で、「指定されたドメインがないか、またはアクセスできません」となります。 指定したpathは上のIsAuthenticated()で取得したpathなので存在はします。 このサンプルと違うのはASP.NETではなくWinアプリというところなんですが。 何かお分かりでしたらご報告いただけると助かります。 |
|
投稿日時: 2004-03-23 19:11
度々すみません。
DirectorySearcher search = new DirectorySearcher(_path); というところを DirectoryEntry entry = new DirectoryEntry(_path); DirectorySearcher search = new DirectorySearcher(entry); にしたら取れました。 しかし… 例えば3つのグループに所属している場合 2つしか取れません。 プライマリグループが取れないようです。 プライマリグループを取る方法を どなたか教えていただけますでしょうか。 よろしくお願いします。 |
1