ssbm.domain
Class AuthenticationManager

java.lang.Object
  extended by ssbm.domain.AuthenticationManager

public class AuthenticationManager
extends java.lang.Object

Questa classe si occupa della gestione dei servizi di autenticazione degli utenti.

Author:
Salvatore Piccione

Constructor Summary
AuthenticationManager()
           
 
Method Summary
static void executeLogin(DataContainer dataTable)
          Esegue l’autenticazione di un utente ed avvia una sessione di lavoro.
static void executeLogout(DataContainer dataTable)
          Chiude la sessione di lavoro relativa all'utente identificato con i dati riportati nell'istanza di DataContainer passata come parametro.
static void validateRequestOrigin(DataContainer dataTable, java.lang.String requestAddress)
          Controlla la validità delle provenienza di una richiesta di esecuzione di un servizio.
static void validateRequestOrigin(java.lang.String username, java.lang.String requestAddress)
          Controlla la validità delle provenienza di una richiesta di esecuzione di un servizio.
private static void validateRequestOrigin(Utente user)
          Controlla la validità delle provenienza di una richiesta di esecuzione di un servizio.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AuthenticationManager

public AuthenticationManager()
Method Detail

executeLogin

public static void executeLogin(DataContainer dataTable)
                         throws DatabaseException,
                                DomainException,
                                SSBMSecurityException
Esegue l’autenticazione di un utente ed avvia una sessione di lavoro.
L’utente è identificato usando i dati contenuti nell'istanza di DataContainer passata come parametro.

Parameters:
dataTable - il dizionario di dati contenente i dati necessari per avviare una sessione di lavoro.
Throws:
DatabaseException - nel caso in cui si verifichino degli errori nella comunicazione con il database.
DomainException - se si verifica una delle seguenti condizioni:
  • dataTable contiene un indirizzo di rete non valido;
  • le credenziali di accesso riportate in dataTable non sono valide;
  • le credenziali di accesso riportate in dataTable sono valide ma non è stata avviata una sessione di lavoro.
SSBMSecurityException - se la richiesta di autenticazione proviene da un utente già autenticato.

executeLogout

public static void executeLogout(DataContainer dataTable)
                          throws DatabaseException,
                                 DomainException
Chiude la sessione di lavoro relativa all'utente identificato con i dati riportati nell'istanza di DataContainer passata come parametro.

Parameters:
dataTable - il dizionario di dati contenente i dati necessari per chiudere una sessione di lavoro.
Throws:
DatabaseException - nel caso in cui si verifichino degli errori nella comunicazione con il database.
DomainException - se non è stata chiusa la sessione di lavoro.

validateRequestOrigin

public static void validateRequestOrigin(DataContainer dataTable,
                                         java.lang.String requestAddress)
                                  throws DomainException,
                                         DatabaseException,
                                         SSBMSecurityException
Controlla la validità delle provenienza di una richiesta di esecuzione di un servizio.

Parameters:
dataTable - il dizionario di dati contenente i dati necessari alla costruzione di un'istanza di Utente che rappresenta l'utente che richiede un servizio.
requestAddress - l'indirizzo IP dal quale proviene le richiesta di esecuzione di un servizio.
Throws:
DomainException - se dataTable non contiene un indirizzo di rete valido.
DatabaseException - se si verificano degli errori nella connessione al database.
SSBMSecurityException - se la richiesta proviene da un indirizzo IP diverso da quello dal quale l'utente è stato autenticato.

validateRequestOrigin

public static void validateRequestOrigin(java.lang.String username,
                                         java.lang.String requestAddress)
                                  throws DomainException,
                                         SSBMSecurityException,
                                         DatabaseException
Controlla la validità delle provenienza di una richiesta di esecuzione di un servizio.

Parameters:
username - lo username dell'utente che richiede l'esecuzione di un servizio.
requestAddress - l'indirizzo IP dal quale proviene le richiesta di esecuzione di un servizio.
Throws:
DomainException - se requestAddress non è un indirizzo di rete valido.
SSBMSecurityException - se la richiesta proviene da un indirizzo IP diverso da quello dal quale l'utente è stato autenticato.
DatabaseException - se si verificano degli errori nella connessione al database.

validateRequestOrigin

private static void validateRequestOrigin(Utente user)
                                   throws SSBMSecurityException,
                                          DatabaseException
Controlla la validità delle provenienza di una richiesta di esecuzione di un servizio.

Parameters:
user - l'istanza di Utente contenente lo username e l'indirizzo IP di provenienza della richiesta.
Throws:
SSBMSecurityException - se la richiesta proviene da un indirizzo IP diverso da quello dal quale l'utente è stato autenticato.
DatabaseException - se si verificano degli errori nella connessione al database.