我有一种方法可以检索用户所属的 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 中,它总是给我 DirectoryServicesCOMExceptionuser = UserPrincipal.FindByIdentity(yourDomain, userName);
我什至不知道那是什么类型的异常。有人可以解释一下错误是什么以及如何解决吗?非常感谢!