如何使用SharePoint CSOM检查当前用户是否为网站集管理员?
答案 0 :(得分:8)
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