Skip to main content

How to check permissions of user on sharepoint list using csom.

In this article, we are going to learn "How to check the permissions of user on SharePoint list using csom " or permissions of user using code. In provider-hosted SharePoint Add-ins, we use the csom code and to check the permission of the user on a particular list, once we get the effective permission of particular user on the SharePoint list and then by using that permission we can check the particular kind of permission like Addlistitem, Editelistitem, etc.

In this example, we have created a console application to check whether the user has edit permission on the list or not.
 Pass the client context, email of the user and list name on which you want to check the permission of the user.



using System;

using System.Security;

using Microsoft.SharePoint.Client;

namespace PracticeCsom

{

    class Program

    {

        static void Main(string[] args)

        {
           string siteUrl = "https://***.sharepoint.com/sites/***/";
          using (ClientContext clientContext = new ClientContext(siteUrl))
         {
            SecureString SecurePassword = GetSecureString("Passwpord");
         clientContext.Credentials = new SharePointOnlineCredentials("****@****.onmicrosoft.com",           SecurePassword);
         bool hasPermission = CheckPermissionOnDocumentlibrary(clientContext,                 "*****@***.onmicrosoft.com", "metalist");

             if (hasPermission)
              {
                 Console.WriteLine("User have permission");
              }
           else
           {
              Console.WriteLine("User do not have permission on the list");
             }

            }

  }

 public static bool CheckPermissionOnDocumentlibrary(ClientContext clientContext, string userEmail, string listName)
{
      bool haspermission = false;
     try {
           if (clientContext != null)
            {
           
             Web web = clientContext.Web;
              List list = web.Lists.GetByTitle(listName);
             clientContext.Load(list);
             User user = web.EnsureUser(userEmail);
             clientContext.Load(user);
             clientContext.ExecuteQuery();
             var permissions = list.GetUserEffectivePermissions(user.LoginName);
             clientContext.ExecuteQuery();
            if (permissions.Value.Has(PermissionKind.AddListItems))
             {
                 haspermission = true;
              }
             }
        return haspermission;
       }
     catch (Exception ex)
     {
        return haspermission;
     }
 }

   private static SecureString GetSecureString(String Password)
  {
      SecureString oSecurePassword = new SecureString();
      foreach (Char c in Password.ToCharArray())
       {
         oSecurePassword.AppendChar(c);
       }
       return oSecurePassword;
   }
}
}


Copy the code and paste in your console application and you can copy the method and use it wherever you want either in provider-hosted add-in or in csom code.

Happy Coding

Comments

Post a Comment

Popular posts from this blog

SPFx Interview Questions With Answers

In this article, we are going to discuss interview questions related to the SPFx (SharePoint Framework Development ). It will help you to prepare for the interview and in getting clarity on the core concepts of SPFx development. What is SPFx? SPFx, short for SharePoint Framework,  SPFx  allows us for client-side SharePoint development, we can easily connect with SharePoint data and it also supports for open source tools. What is the major difference between SPFx web part and the SharePoint app? Both the development model supports client-side development but the major difference between these two is that the SharePoint app(add-in) runs on the iframe. What you can build with SPFx? Using SPFx framework we can customize the SharePoint pages. We can build things mentioned below using the SharePoint Framework(SPFx). Web parts, Extensions, Adaptive Card, Library Component How many types of extensions we can create using SPFx? SPFx has three extension types: Application Customizers: U...

How to register an app in SharePoint

In this article, we are going to learn how to register an app/add-in in SharePoint online. If you have created a Sharepoint provider-hosted add-in or other SharePoint solution and to access the SharePoint site or list using the app/add-in you need to register the add-in on SharePoint and to grant permission. Register app in SharePoint 1. Login into SharePoint and Navigate to register an app page. Use the URL mentioned below:          [Sitecollection URL]/_layouts/15/appregnew.aspx 2.  Once you navigate to the Register app page, a form will open. You need to fill all the fields on the form. Client Id and Client Secret  generated when we click on the generate button available next to the fields.  Title : Name of the add-in which you want to give. App Domain : Where your domain is hosted, for the local environment you can place             "www.localhost.com". Do not include HTTP or HTTPS...

Agents in SharePoint: A New Era of Productivity

Agents in SharePoint is a innovative tool to enhance business processes, productivity and collaboration. Agents in SharePoint allow us to get information from the documents/contents stored on the SharePoint site.Notably, Agents in SharePoint are now generally available, offering a powerful way for businesses to unlock the value of their content and scale expertise across teams. Plenty of organizations using SharePoint and keeping their data into the SharePoint. Sometimes it's very difficult and time-consuming to navigate to the document and retrieve the information. Agents in SharePoint will allow us to get the information directly by asking questions. It will be cool. Agents in SharePoint These agents are scoped to SharePoint sites and documents, helping users quickly find relevant information, make data-driven decisions, and improve business outcomes. Agents in SharePoint are simple to use and can be created with just a few clicks: Default Agents : Every SharePoint site come...