Функция WSS 3.0 - проверьте, является ли пользователь фермы администратора

StackOverflow https://stackoverflow.com/questions/3305491

  •  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 или SPFARM классана MSDN.

Другие советы

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;
    } 
.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top