6.2. Utenti e Gruppi

6.2.1. Gestione Utenti

L’accesso a Sanet tramite interfaccia web e’ regolato attraverso la creazione di utenti con credenziali di accesso (username, password).

Si distinguono due tipi di utenti:

  • Superutenti o amministratori
    I superutenti possono accedere a tutte le funzionalita’ del sistema senza nessun tipo di restrizione.
  • Utenti (normali)
    L’accesso alle diverse funzionalita’ del sistema e’ regolamentato da un sistema di gruppi/capabilities descritto in seguito.

Un utente puo’ essere attivo o disabilitato. Gli utenti disabilitati non possono effettuare il login (indipendentemente dalla validita’ delle credenziali usate).

Gli altri dati assicaibili ad una utenza sono:

Dato Descrizione Descrizione
firstname Nome  
lastname Cognome  
email Email  

6.2.1.1. Username lowercase

Gli username delle utenze in sanet3 devono rispettare le seguenti regole:

  • possono contenere solo carattere alfabetici lowercase
  • possono contenere numeri (ma non possono iniziare con numeri)

Important

L’interfaccia web di Sanet3 puo’ essere configurata per accettare o meno username anche con caratteri maiuscoli alfabetici in maiuscolo. Per alterare questo comportamento bisogna cambiare la costante AUTH_WEB_LOGIN_USERNAME_CASE_SENSITIVE nel file settings.py.

Important

Anche se il login puo’ supportare username con caratteri in maiuscolo, i moduli di autenticazione gestiscono sempre e comunque username con caratteri solo in minuscolo.

6.2.1.2. Metodi di autenticazione

Il sistema di autenticazione degli utenti (verifica username/password) e’ regolato da moduli di autenticazione.

E’ possibile utilizzare piu’ moduli di autenticazione contemporaneamente.

Si rimanda alla sezione Configurazione autenticazione per dettagli.

6.2.2. Gruppi e autorizzazioni

Le diverse funzionalita’ dell’interfaccia grafica sono accessibili da parte di un utente solo se questo e’ in possesso delle opportune autorizzazioni.

Per semplificare la gesteione della autorizzazioni, gli utenti sono organizzati in gruppi.

Le autorizzazioni sono date al gruppo, quindi due utenti dello stesso gruppo avranno le stesse autorizzazioni.

Valgono le seguenti regole di associazione utente/gruppo:

  1. Un gruppo puo’ contenere zero o piu’ utenti.
  2. Un utente puo’ far parte di piu’ gruppi.

6.2.2.1. Gruppi e tenant

Come anticipato nel paragrafo precedente, la visibilita’ dei dati di un tenant da parte di un utente e’ sempre mediata attraverso l’appartenenza ad un gruppo.

Un gruppo puo’ accedere ai dati di monitoraggio di zero o piu’ tenant.

Tutti gli utenti appartenti ad un gruppo, possono vedere i dati dei tenant visibili da quel gruppo

digraph prova {
user1;
user2;
user3;

group1;
group2;

tenant1;
tenant2;
tenant3;

user1 -> group1;
user2 -> group1;
user3 -> group2;
user3 -> group3;

group1 -> tenant1;
group3 -> tenant1;
group2 -> tenant2;
group2 -> tenant3;
}

6.2.2.1.1. Tenant di default per utente

Per ogni utente e’ possibile indicare un tenant di default tra quelli visibili da quell’utente.

Quando un utente effettua la procedura di login via WEB viene “posizionato” sul suo tenant di default.

L’algoritmo per la sezione del tenant di default e’ la seguente:

step 1) Se esiste un tenant configurato di default, restituisce quello.

step 2) Trova tutti i tenant visibili dai gruppi a cui appartiene l'utente.

            Se tra questi c'e' il tenant primario, restituisce quello.

            Se non c'e' nessun primario, restituisce il primo tenant in ordine alfabetico.

step 3) Se l'utente e' admin, comunque visualizza il tenant primary.

6.2.2.2. Capabilities

Le azioni che gruppo e’ autorizzato o meno a fare via web sui dati di un Tenant sono regolamentate da un sistema di capabilites.

Ad ogni azione e’ associata una capability. Se un gruppo e’ autorizzato a quella capability puo’ effettuare l’azione corrispondente.

Questo e’ l’elenco delle azioni permesse.

6.2.3. Utente predefinito e gruppo predefinito

Quando il sistema viene installato la prima volta, viene creato automaticamente un utente amministratore predefinito e un gruppo associato a questo utente.

NOTA: Username e group name sono modificabili da file di configurazione, vedi DEFAULT_ADMIN_USERNAME in {{SANET_INSTALL_DIR}}/conf/default_settings.py o anche:

$ sanet-data get_config DEFAULT_ADMIN_USERNAME

$ sanet-data get_config DEFAULT_ADMIN_GROUP