Функция WSS 3.0 - проверьте, является ли пользователь фермы администратора
-
26-09-2020 - |
Вопрос
Я разрабатываю функцию SharePoint, которая должна разрешить только администратор фермы, чтобы удалить SiteCollection.В Suiteleting Event, мне нужно чеховать, если удаление пользователя является Farmadmin.Как мне это сделать?Я получил свойство, чтобы проверить, является ли пользователь WebAdmin (Properties.web.useriswebadmin) или SiteAdmin (Properties.web.userissiteAdmin), но как проверить, является ли пользователь фермы администратора?
Любая помощь очень ценится ..
Решение
SPFarm farm = SPFarm.Local;
farm.CurrentUserIsAdministrator();
.
Эти классы проживают в пространстве имен Microsoft.SharePoint.Administration.Подробнее на curreiserisAdministrator или
Другие советы
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;
}
. Не связан с StackOverflow