Функция WSS 3.0 - проверка, является ли пользователь администратором фермы - PullRequest
1 голос
/ 22 июля 2010

Я разрабатываю функцию sharepoint, которая должна позволять только администратору фермы удалять коллекцию сайта.В событии SiteDeleting мне нужно проверить, если пользователь удаляет farmadmin.Как мне это сделать?У меня есть свойство, чтобы проверить, является ли пользователь webadmin (properties.Web.UserIsWebAdmin) или siteadmin (properties.Web.UserIsSiteAdmin), но как проверить, является ли пользователь администратором фермы?

Любая помощь приветствуется

Ответы [ 2 ]

1 голос
/ 22 июля 2010
SPFarm farm = SPFarm.Local;
farm.CurrentUserIsAdministrator();

Эти классы находятся в пространстве имен Microsoft.SharePoint.Administration.Подробнее о CurrentUserIsAdministrator или SPFarm класс в MSDN.

0 голосов
/ 19 февраля 2013
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;
    } 
...