Gestire il caso in cui un utente sia presente in più backend di autenticazione
Quando un utente è presente in più backend di autenticazione (ad esempio
root
, sicuramente presente sia localmente che nel backend di master
password, ma anche utenti presenti sia su ldap che localmente), la
verifica della password viene fatta sul primo backend attivo, rischiando
di fallire anche quando viene usata una password valida su uno di quei
backend.
La soluzione elegante è fare la richiesta di authenticate su tutti i backend in parallelo, e accettare la prima con successo che si riceve (da decidere: qualche messaggio di errore fornire nel caso in cui tutti i backend neghino l’auth, propongo nel caso di dividere i casi di db.AuthenticationError tra problemi del backend e password sbagliata)
Prima dell’implementazione del ticket potrebbe servire anche qualche workaround veloce, da definirsi.