Domanda

How can I check that the current user is a SiteCollection Administrator using SharePoint CSOM?

È stato utile?

Soluzione 2

What about

spcontext.current.Site.RootWeb.CurrentUser.IsSiteAdmin

Altri suggerimenti

How to determine whether current user is Site Administrator using CSOM

SharePoint 2013 CSOM

Use User.IsSiteAdmin property to get or set a Boolean value that specifies whether the user is a site collection administrator, for example:

using (var ctx = new ClientContext(webUri))
{
    var currentUser = ctx.Web.CurrentUser;
    ctx.Load(currentUser);
    ctx.ExecuteQuery();

    Console.WriteLine(currentUser.IsSiteAdmin);
}

SharePoint 2010 CSOM

Since User object does not expose IsSiteAdmin property in SharePoint 2010 CSOM, below is demonstrated how to determine whether current user is Site Administrator using User Information List:

using (var ctx = new ClientContext(url))
{ 
     var currentUser = ctx.Web.CurrentUser;
     ctx.Load(currentUser);
     ctx.ExecuteQuery();

     var isCurrentUserSiteAdmin = IsUserSiteAdmin(ctx, currentUser.Id);
}


public static bool IsUserSiteAdmin(ClientContext ctx,int userId)
{
   var userInfoList = ctx.Site.RootWeb.SiteUserInfoList;
   var item = userInfoList.GetItemById(userId);
   ctx.Load(item);
   ctx.ExecuteQuery();
   return (bool)item["IsSiteAdmin"];
}                  
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top