Nella mia esperienza ho visto che è preferibile tenere separate le logiche e le policy sulle credenziali di accesso, rispetto ai ruoli che le singole utenze possono avere (sia da un punto di vista del tuo repository utenze, sia da un punto di vista di logiche di business).
Ovvero, login unica con logiche centralizzate per il riconoscimento delle credenziali.
Dopodichè, step successivi per la scelta del profilo con cui l'utenza accede all'applicativo.
L'obiettivo è cercate di individuare univocamente il profilo con cui l'utente (nella singola sessione) accede. Questo consente di customizzare le pagine in funzione delle esigenze o delle funzionalità concesse ai singoli profili.
Inoltre, in una logica di SSO, potrebbe esserci uno step precedente alla scelta del profilo di accesso, che potrebbe essere la scelta dell'applicazione a cui si vuole accedere.
Sul tema dell'aggiornamento dei dati personali, esiste una normativa legata alla gestione della privacy.
In genere l'utente è in grado di poter modificare direttamente o su richiesta tutti i dati (sensibili o meno) che lo riguardano. Quindi, con l'adeguata messaggistica sul come e quando i suoi dati vengano usati, è bene lasciare autonomia all'utente sulla gestione dei propri dati.
ciao