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 utente | Tipo di permesso |
| Utenti | Lettura |
| Proprietari | Contribuire o modificare, a seconda del modello del sito |
| Approvatori | Pieno controllo |
| Designers | Approvare |
| Gestori della gerarchia | Design |
| Lettori con restrizioni | Lettura con restrizione |
| Responsabili della traduzione | Interfacce 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);
}
}