Pregunta

Estoy desarrollando una función de SharePoint que debería permitir que solo la gran cantidad de Admin elimine un SiteCollection.En el evento SiteDeling, necesito para que la eliminación de usuarios es Farmadmin.¿Cómo debo hacer eso?Recibí una propiedad para verificar si el usuario es webadmin (propietario.web.useriswebadmin) o SiteAdmin (Properties.Web.UserissiteAdmin) ¿Pero cómo verificar si el usuario es admin?

Cualquier ayuda es muy apreciada ...

¿Fue útil?

Solución

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

Estas clases residen en el espacio de nombres de Microsoft.SharePoint.Administration.Más sobre CurrentUserIsDMINISTRATOR O SPFARM claseen msdn.

Otros consejos

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 bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top