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 TypeMethodDescriptionboolean
Carica la sessione utente precedentemente salvata dal file locale.boolean
Effettua il login utente verificando le credenziali fornite.void
logout()
Esegue il logout dell'utente corrente.boolean
noUsers()
Verifica se non ci sono utenti registrati nel sistema.boolean
Registra un nuovo utente con nome e password specificati.private void
saveSession
(User user) Salva l'oggettoUser
corrente 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 utentepassword
- password associata- Returns:
true
se il login ha successo,false
altrimenti
- 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
-true
se è il primo utente in assoluto- Returns:
true
se la registrazione ha successo,false
se 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:
true
se la sessione è stata caricata con successo,false
altrimenti
- Imposta l'utente corrente nel
-
logout
public void logout()Esegue il logout dell'utente corrente.Rimuove l'utente dal
AppContext
e 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:
true
se il database utenti è vuoto
-