Modifica:
Sto ancora con la mia risposta originale sulla base delle informazioni aggiuntive fornite. La risposta originale è sotto.
Anche se i siti UI e Mgmt hanno contenuti e URL completamente diversi, non vedo che tu abbia qualcosa da guadagnare dall'avere due sistemi di autenticazione / autorizzazione. A livello meta, entrambi i siti trattano le stesse informazioni e utilizzano gli stessi set di regole di autorizzazione per determinare se qualcuno è autorizzato a fare qualcosa o meno.
È ancora possibile stabilire due gerarchie di autorizzazioni all'interno dello stesso schema di autenticazione / autorizzazione. Gli account utente possono avere vari gradi di privilegi e accessi basati su qualsiasi struttura ad albero che ritieni appropriata. Idem con gli account di manutenzione e il contenuto a cui avrebbero accesso. L'utilizzo dello stesso livello sottostante per l'implementazione della sicurezza ti semplifica la creazione e la manutenzione.
Se per qualche motivo eri veramente, davvero, davvero preoccupato per gli utenti regolari, anche sapendo c'era un'interfaccia di manutenzione, quindi suggerirei di creare due siti / URL separati per l'accesso, ma comunque utilizzare lo stesso livello di sicurezza sottostante. È banale creare una seconda vista di autenticazione con il proprio URL. Ciò soddisfa il requisito di "isolamento percepito" senza aumentare significativamente il carico di lavoro.
Risposta originale
Sono d'accordo con la risposta di Jarrod Roberson, e questo ha lo scopo di fornire maggiori dettagli dietro questo approccio.
Sembra che tu abbia bisogno di almeno tre categorie di utenti all'interno del tuo schema di autenticazione / autorizzazione.
- Utente normale
Come suggerisce il nome, questo è per gli utenti regolari del tuo sito senza privilegi speciali.
- Utente avanzato
Si tratta essenzialmente di utenti regolari ma con privilegi avanzati per la gestione delle attività di tipo di manutenzione. I moderatori di P.SE sarebbero un esempio di utenti esperti.
- Amministratore
Gli utenti dispongono di tutti i diritti sul sistema e possono modificare tutto ciò che è esposto attraverso la programmazione del sito. I tuoi sviluppatori potrebbero o potrebbero non essere amministratori per il tuo sito di produzione.
Gli sviluppatori sollevano un'interessante domanda su quali diritti assegnare. In alcuni casi, hanno bisogno dei diritti di amministratore in modo che possano correggere i torti all'interno del sistema (mi dispiace per il gioco di parole). Ma la maggior parte delle volte non vuoi che siano loggati come amministratori ma piuttosto come utenti esperti o normali.
Un modo per risolvere questo problema è l'utilizzo di più accessi. "JoeUser" può essere il loro accesso normale quando non esercitano il ruolo di sviluppatore mentre "JoeAdmin" è il loro accesso di amministratore. Il login dell'amministratore può attivare auditing / tracking / etc ... mentre il normale login non lo farebbe.
Avere due sistemi di autenticazione separati non ti fa altro che mal di testa. Oltre ai motivi esposti da Jarrod, eccone altri.
- Non impedisce agli utenti regolari di accedere come amministratori. Gli utenti regolari dovrebbero conoscere le credenziali dell'amministratore prima di poter accedere come amministratore.
- Non aumenta la tua sicurezza. Se non altro, un sistema di autenticazione dedicato e privilegiato rende più facile agli aggressori la possibilità di concentrarsi su un unico sistema e non preoccuparsi di passare come utente di livello inferiore. IE. hanno decifrato il tuo sistema di autenticazione admin in modo che sappiano che entreranno come amministratori.
- Rende l'autenticazione più fastidiosa per i tuoi amministratori. Poiché devono accedere a un altro sito per l'autenticazione come amministratore, è più probabile che saltino utilizzando i loro normali accessi utente e restano registrati come amministratori. Non necessariamente quello che vuoi.
Quindi la risposta è essenzialmente questa: codifica un singolo livello di autenticazione / autorizzazione. Crea più accessi per chiunque abbia bisogno dei diritti di amministratore.