Codeigniter : simple authorization library
Il framework Codeigniter non contiene una libreria per la gestione delle autorizzazioni, questa piccola e semplice classe si occupa proprio di questo.
La Simple Authorization Library si appoggia alla Session Class fornita di default dal framework. Perché creare una libreria così? Per la semplicità, non si appoggia a nessun database, sono solo poche e funzionali righe di codice che fanno risparmiare tempo. Nel caso l’applicazione lo richiedesse la classe si può comunque espandere attraverso classi derivate più complesse e particolareggiate. Quello che ho voluto creare con questo script è una semplice struttura di base di come potrebbe funzionare una classe per la gestione degli utenti.
Ha tre metodi pubblici, crypt, login e logout.
Il primo, crypt, si occupa di criptare il dato fornito. Utilizza un doppia funzione md5 con salt, il salt utilizzato è l’encryption key delle sessioni.
La seconda funzione, login, se gli si passa un oggetto lo serializza e lo salva nella sessione. Gli si può passare ad esempio un oggetto user contente tutte le specifiche dell’utente corrente. Restituisce sempre l’oggetto salvato o false se non trova nessun oggetto, quindi se l’utente non è loggato.
L’ultima funzione, logout, semplicemente cancella i dati di sessione.
Un esempio di login potrebbe essere:
$cryptPass = $this->auth->crypt($password);
if($user = $this->userModel->login($userName, $cryptPass))
{
$this->auth->login($user);
}
Il metodo login della classe userModel restituisce l’oggetto user se i dati sono corretti. L’auth library si occuperà di salvare l’oggetto dentro la sessione per renderlo disponibile anche alla successive chiamate.
Download simple authorization library