Determin Group Membership (C#)

Determin Group Membership with System.DirectoryServices.AccountManagement in C#

You can determine group membership like this:

Remember to reference System.DirectoryServices.AccountManagement

using System.DirectoryServices.AccountManagement

public class GroupMembershipHelper
{
public static bool IsMemberOf(string username, string domain, string groupName)
{
using (var principalContext = new PrincipalContext(ContextType.Domain, domain))
{
using (UserPrincipal userPrincipal = UserPrincipal.FindByIdentity(principalContext, username))
{
if (userPrincipal != null)
{
PrincipalSearchResult groups = userPrincipal.GetAuthorizationGroups();
IEnumerable filteredGroups =
groups.Where(p => p.ContextType == ContextType.Domain && p.Guid != null && p is GroupPrincipal && ((GroupPrincipal)p).GroupScope == GroupScope.Universal)
.Select(p => p as GroupPrincipal);
return filteredGroups.Any(g => g.Name.Equals(groupName));
}
return false;
}
}
}
}

Advertisement


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.