Search code examples
c#permissionssharepoint-clientobject

C# Check SharePoint List permissions using SharePoint Client Object Model


From a client application, I need to check if a given user has permissions on a given document library using Client object Model. I want something equivalent of the following Server object function

spList.DoesUserHavePermissions(SPBasePermissions.EditListItems);
spList.DoesUserHavePermissions(SPBasePermissions.ManageLists);
spList.DoesUserHavePermissions(SPBasePermissions.AddListItems);
spList.DoesUserHavePermissions(SPBasePermissions.AddListItems)

Thank you !


Solution

  • I found a solution mentioned in this Blog for listItems permissions, and it worked fine for list. the solution is as follow:

    private static bool DoesUserHasPermission(ClientContext context, List list, PermissionKind permissionKind)
            {
                context.Load(list, t => t.EffectiveBasePermissions);
                context.ExecuteQuery();
    
                return list.EffectiveBasePermissions.Has(permissionKind);
            }