Domanda

Sto sviluppando una funzione di SharePoint che dovrebbe consentire solo l'amministratore della fattoria di eliminare una situazione di situazione.Nell'evento siteleting, ho bisogno di check se l'eliminazione dell'utente è Farmadmin.Come dovrei farlo?Ho ricevuto una proprietà per verificare se l'utente è WebAdmin (Properties.Web.UserisWebadmin) o Siteadmin (Properties.Web.UserisSisteadmin) ma come controllare se l'utente è Amministratore Fattoria?

Qualsiasi aiuto è molto apprezzato ..

È stato utile?

Soluzione

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

Queste classi risiedono in Microsoft.SharaPoint.Administration Namespace dei nomi.Altro su CurrentUserisAdministrator o spfarm classesu msdn.

Altri suggerimenti

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;
    } 
.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top