ユーザーが属する AD グループのリストを取得する方法があります。コードは次のとおりです。
public static List<GroupPrincipal> GetGroups(string userName)
{
List<GroupPrincipal> result = new List<GroupPrincipal>();
// establish domain context
PrincipalContext yourDomain = new PrincipalContext(ContextType.Domain);
UserPrincipal user = null;
// find your user
user = UserPrincipal.FindByIdentity(yourDomain, userName);
// if found - grab its groups
if (user != null)
{
PrincipalSearchResult<Principal> groups = user.GetGroups();
// iterate over all groups
foreach (Principal p in groups)
{
// make sure to add only group principals
if (p is GroupPrincipal)
{
result.Add((GroupPrincipal)p);
}
}
}
return result;
}
IE と Chrome の両方で、これは正常に機能しますが、Firefox では常に DirectoryServicesCOMException が返され、それがuser = UserPrincipal.FindByIdentity(yourDomain, userName);
どのような例外なのかさえわかりません。誰かがエラーの内容とその修正方法を説明してもらえますか? どうもありがとう!