2

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

4

2 回答 2

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);
}

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"];
}                  
于 2014-12-10T11:41:37.947 回答
1

关于什么

spcontext.current.Site.RootWeb.CurrentUser.IsSiteAdmin
于 2013-06-25T12:49:51.207 回答