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

时间:2013-05-29 08:59:51

标签: sharepoint csom

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

2 个答案:

答案 0 :(得分:8)

如何使用CSOM

确定当前用户是否为站点管理员

SharePoint 2013 CSOM

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

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

    Console.WriteLine(currentUser.IsSiteAdmin);
}

SharePoint 2010 CSOM

由于User对象未在SharePoint 2010 CSOM中公开IsSiteAdmin属性,因此下面演示了如何使用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"];
}                  

答案 1 :(得分:1)

怎么样?
spcontext.current.Site.RootWeb.CurrentUser.IsSiteAdmin