Attualmente sto scrivendo un'applicazione web per la nostra piccola azienda che originariamente era stata pianificata per organizzare gli appuntamenti in modo più efficiente, visualizzando la struttura dei nostri clienti e pianificando automaticamente i tour che originariamente significavano che il nostro staff ha bisogno di accedervi.
Tuttavia, poiché abbiamo quindi costruito la nostra struttura, potremmo quindi utilizzarla anche per fornire ai clienti informazioni (ad esempio, caricare file per scaricare, leggere o compilare alcuni moduli). Questo significa anche che dobbiamo dare loro login e permessi.
La nostra struttura del cliente è come visualizzata qui (semplificata):
Unproblemaèchenontuttiidipendentidialcunideinostriclientihannoindirizzie-mail(loso,incredibilenel2016manonpossocambiarloquindidevolavorarci)quindinonpossousaree-mailcomeidentificatoreunivocoperunaccesso.
Quindilamiaideaeradiconnetteregliaccessiaigruppiinquestoalberoedareadognivoceinquestoalberounidentificatoreunivoco(adesempio,ilcliente1ottieneCUST1)chedeveessereinseritoinuncampodiinputaggiuntivonelmodulodiaccessocheciconsenteutilizzarenomiutentepiùvolte(unavoltaperclienteinvecediunavoltaintotale).
Questosignificacheogniaccessoèconnessoalgruppofissoone.Iclientinondevonovedersi,quindicostruiscol'alberoperogniaccesso,quindiunmembrodi"cliente 3" vede solo il ramo 1 e il ramo 2 e tutto quanto segue.
Tuttavia, ora il vero problema: oggi mi è stato detto che ci sono casi in cui si desidera che un utente veda Office 3 e Office 2 ma non Office 1 e 4 e persino autorizzazioni differenti per ciascun gruppo avere accesso a (es .: vedere appuntamenti in ufficio 3 e vedere appuntamenti e file in ufficio 2).
Inizialmente avevo pianificato qualcosa del genere: metti gli utenti con le autorizzazioni "leggi i file" e "compila i moduli" in "ufficio 1" e il gioco è fatto.
Un'idea che ho è quella di dividere completamente quei gruppi e permessi. Ad esempio, tutti i dipendenti del cliente 1 saranno membri del cliente 1 senza autorizzazioni, indipendentemente dal ramo o dall'ufficio a cui appartengono e quindi in un secondo passaggio vengono assegnate le autorizzazioni per ciascun gruppo / nodo all'interno del cliente. Ma sono abbastanza insicuro su come gestire casi come "un nuovo ufficio viene aggiunto al ramo 1".
C'è qualche buon consiglio? Voglio dire che normalmente i gruppi sono piatti ma i gruppi gerarchici con possibili autorizzazioni differenti sembrano un po 'complicati.