0

C#で特定のユーザーのLDAPActiveDirectoryのユーザーグループを確認する必要があります。つまり、このユーザー名をメソッドに渡すと、そのユーザーが属するグループのリストが返されます。これで私を助けてくれませんか。Im Searching alotしかし、毎回新しいエラーが発生します。

LDAPパス:192.168.1.4

ドメイン名:Arslan

ユーザー名:ArslanP

パスワード:testad

4

2 に答える 2

1

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

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

基本的に、アセンブリへの参照を追加するSystem.DirectoryServices.AccountManagementと、ドメインコンテキストを定義して、AD内のユーザーやグループを簡単に見つけることができます。

using System.DirectoryServices.AccountManagement;

public List<GroupPrincipal> GetGroupsForUser(string username)
{
  List<GroupPrincipal> result = new List<GroupPrincipal>();

  // set up domain context - if you do a lot of requests, you might
  // want to create that outside the method and pass it in as a parameter
  PrincipalContext ctx = new PrincipalContext(ContextType.Domain);

  // find user by name
  UserPrincipal user = UserPrincipal.FindByIdentity(username);

  // get the user's groups
  if(user != null)
  {
     foreach(GroupPrincipal gp in user.GetAuthorizationGroups())
     {
         result.Add(gp);
     }    
  }

  return result;
}

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

于 2011-03-16T22:03:55.587 に答える
0

この関連する質問はあなたを助けるかもしれません:

特定のADグループのActiveDirectoryからユーザーのリストを取得する

逆の質問をします。これは、グループを知っているときにユーザーのリストを確認する方法ですが、他の回答も役立つ場合があります。

この質問への回答も参照してください。

特定のユーザーのすべてのADグループを取得するにはどうすればよいですか?

于 2011-03-16T21:06:29.157 に答える