如何在SharePoint CSOM中检查用户是否为Admin

War*_*ock 2 sharepoint csom

如何使用SharePoint CSOM检查当前用户是否为SiteCollection管理员?

Vad*_*hev 8

如何使用CSOM确定当前用户是否为站点管理员

SharePoint 2013 CSOM

使用User.IsSiteAdmin属性获取或设置一个布尔值,该值指定用户是否是网站集管理员,例如:

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

    Console.WriteLine(currentUser.IsSiteAdmin);
}
Run Code Online (Sandbox Code Playgroud)

SharePoint 2010 CSOM

由于Userobject不公开IsSiteAdminSharePoint 2010 CSOM中的属性,因此下面演示了如何使用以下方法确定当前用户是否为Site Administrator 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"];
}                  
Run Code Online (Sandbox Code Playgroud)