Sharepoint users roles

in Sharepoint

Sharepoint users roles scripts

Un gruppo in Sharepoint è un insieme di utenti che condivide particolari proprietà come, ad esempio, un insieme di autorizzazioni.

La gestione delle autorizzazioni tramite gruppi consente di minimizzare le configurazioni, avendo un unico punto dove intervenire.

In Sharepoint i ruoli predefiniti per gli utenti sono:

Tipologia di utenteTipo di permesso
UtentiLettura
ProprietariContribuire o modificare, a seconda del modello del sito
ApprovatoriPieno controllo
DesignersApprovare
Gestori della gerarchiaDesign
Lettori con restrizioniLettura con restrizione
Responsabili della traduzioneInterfacce limitate per la traduzione

E’ possibile configurare i gruppi attraverso il pannello di amministrazione alla voce Impostazioni -> Utenti e autorizzazioni -> Autorizzazioni Sito

A volte può essere necessario verificare se un particolare utente è associato ad un particolare gruppo.

Javascript per Sharepoint users roles

Questo semplice script in javascript consente ottenere un boolean impostato a true nel caso in cui l’utente sia membro del gruppo.

isCurrentUserMemberOfGroup: function IsCurrentUserMemberOfGroup(groupName, siteUrl,callBack) {
            var currentContext;
            if (siteUrl != null && siteUrl != undefined)
                currentContext = new SP.ClientContext(siteUrl);
            else
                currentContext = new SP.ClientContext.get_current();
            var currentWeb = currentContext.get_web();
            var currentUser = currentContext.get_web().get_currentUser();
            currentContext.load(currentUser);
            var allGroups = currentWeb.get_siteGroups();
            currentContext.load(allGroups);
            var group = allGroups.getByName(groupName);
            currentContext.load(group);
            var groupUsers = group.get_users();
            currentContext.load(groupUsers);
            currentContext.executeQueryAsync(OnSuccess, OnFailure);
            function OnSuccess(sender, args) {
                var userInGroup = false;
                var groupUserEnumerator = groupUsers.getEnumerator();
                while (groupUserEnumerator.moveNext()) {
                    var groupUser = groupUserEnumerator.get_current();
                    if (groupUser.get_id() == currentUser.get_id()) {
                        userInGroup = true;
                        break;
                    }
                }
                callBack(userInGroup);
            }
            function OnFailure(sender, args) {
                callBack(false);
            }
        }