我正在使用下面的代码来检查给定用户是否是 AD 中通讯组的一部分。
static bool IsUserMemberOf(string userName, string groupName)
{
using (var ctx = new PrincipalContext(ContextType.Domain))
using (var groupPrincipal = GroupPrincipal.FindByIdentity(ctx, groupName))
using (var userPrincipal = UserPrincipal.FindByIdentity(ctx, userName))
{
return userPrincipal.IsMemberOf(groupPrincipal);
}
}
我正在调用上述方法,其值为IsUserMemberOf("domain\\username","domain\\groupname")
但我看到一个空指针异常,因为groupPrincipal
它具有空值。
在这方面有什么帮助吗?