我正在开发一个sharepoint功能,只允许Farm管理员删除sitecollection。在SiteDeleting事件中,如果用户删除是farmadmin,我需要填写。我该怎么做?我有一个属性来检查用户是webadmin(properties.Web.UserIsWebAdmin)还是siteadmin(properties.Web.UserIsSiteAdmin),但是如何检查用户是否是农场管理员?
非常感谢任何帮助..
答案 0 :(得分:1)
SPFarm farm = SPFarm.Local;
farm.CurrentUserIsAdministrator();
这些类位于Microsoft.SharePoint.Administration命名空间中。有关MSDN上的CurrentUserIsAdministrator或SPFarm课程的更多信息。
答案 1 :(得分:0)
public static bool IsFarmAdmin(string loginName)
{
//For Currently Logged in users
//SPFarm.Local.CurrentUserIsAdministrator();
bool isFarmAdmin = false;
SPSecurity.RunWithElevatedPrivileges(delegate()
{
SPGroup adminGroup = SPAdministrationWebApplication.Local.Sites[0].AllWebs[0].SiteGroups["Farm Administrators"];
foreach (SPUser user in adminGroup.Users)
{
if (user.LoginName == loginName)
{
isFarmAdmin = true;
}
}
});
return isFarmAdmin;
}