Class AuthService
java.lang.Object
it.unisa.diem.wordageddon_g16.services.AuthService
- All Implemented Interfaces:
Serializable
Classe di 'servizio' utilizzata per l'autenticazione e la gestione degli utenti nell'applicazione Wordageddon.
Permette la registrazione, login, logout e gestione della sessione utente.
Utilizza JDBCUserDAO per la persistenza e AppContext per il tracciamento dell'utente corrente.
- See Also:
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionAuthService(AppContext context, JDBCUserDAO userDAO) Costruttore della classeAuthService -
Method Summary
Modifier and TypeMethodDescriptionbooleanCarica la sessione utente precedentemente salvata dal file locale.booleanEffettua il login utente verificando le credenziali fornite.voidlogout()Esegue il logout dell'utente corrente.booleannoUsers()Verifica se non ci sono utenti registrati nel sistema.booleanRegistra un nuovo utente con nome e password specificati.private voidsaveSession(User user) Salva l'oggettoUsercorrente in un file locale come sessione attiva.
-
Field Details
-
context
-
userDAO
-
-
Constructor Details
-
AuthService
Costruttore della classeAuthService- Parameters:
context- AppContent contesto applicativo corrente contenente l'utente attivouserDAO- DAO per la gestione degli utenti
-
-
Method Details
-
login
Effettua il login utente verificando le credenziali fornite. Se le credenziali sono valide:- Imposta l'utente corrente nel
AppContext - Salva la sessione localmente
- Parameters:
username- nome utente del textFieldpassword- password del textField- Returns:
truese il login ha successo,falsealtrimenti
- Imposta l'utente corrente nel
-
register
Registra un nuovo utente con nome e password specificati. Se è il primo utente, viene creato come amministratore.
Salva automaticamente la sessione se la registrazione va a buon fine.- Parameters:
username- nome utente da registrarepassword- password associatafirstUser-truese è il primo utente in assoluto- Returns:
truese la registrazione ha successo,falsese l'utente esiste già
-
saveSession
-
loadSession
public boolean loadSession()Carica la sessione utente precedentemente salvata dal file locale. Se il file esiste e contiene un utente valido:- Imposta l'utente corrente nel
AppContext - Ritorna
true
- Returns:
truese la sessione è stata caricata con successo,falsealtrimenti
- Imposta l'utente corrente nel
-
logout
public void logout()Esegue il logout dell'utente corrente.Rimuove l'utente dal
AppContexte cancella il file di sessione.
Se la cancellazione del file fallisce, viene sollevata unaRuntimeException. -
noUsers
public boolean noUsers()Verifica se non ci sono utenti registrati nel sistema.- Returns:
truese il database utenti è vuoto
-