sharepointspuser

SPuser to find group membership


I have a code in which I have to check if a user is a part of a certain group (lets say "GroupA").

I have the user details stored in the Sharepoint variable SPUser. Now I need to check if this user is a part of GroupA and then take some action.

How can I achieve this?


Solution

  • Source : How to check if a user exists in a group

    you can use following extension method, like this:

    public static bool InGroup(this SPUser User, string GroupName)
    {
        return User.Groups.Cast<SPGroup>().Any(g => g.Name.ToLower() == GroupName.ToLower());
    }
    

    Then call it like this:

    bool inGroup = spuser.InGroup("GroupName");
    

    If you want to check the current user then another approach can be like this:
    From: Check user already exist in specified SharePoint Group

    SPWeb web = SPContext.Current.Web;
    SPGroupCollection webGroups = web.Groups;
    
    foreach (SPGroup group in webGroups)
    {
     //Checking the group
     if (group.ContainsCurrentUser)
     {
      // perform action
     }
     else
     {
      //perform action
     }
    }
    

    For More Reference:

    Tell if user exists in SharePoint Group through web service