Pergunta

Eu estou desenvolvendo um recurso do sharepoint que deve permitir que somente Fazenda de administrador para excluir um sitecollection.Em SiteDeleting evento, eu preciso checa se o usuário apagar é farmadmin.Como eu deveria fazer isso?Eu tenho uma propriedade para verificar se o usuário é webadmin(propriedades.Da Web.UserIsWebAdmin) ou siteadmin(propriedades.Da Web.UserIsSiteAdmin), mas como verificar se o usuário é farm de administração ?

Qualquer ajuda é muito apreciada ...

Foi útil?

Solução

SPFarm farm = SPFarm.Local;
farm.CurrentUserIsAdministrator();

Essas classes residem no Microsoft.SharePoint.A administração do espaço de nomes.Mais CurrentUserIsAdministrator ou SPFarm classe no MSDN.

Outras dicas

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;
    } 
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top