Sto cercando di creare un sistema MVC Auth / ACL correttamente impostato. Io penso voglio che l'autenticazione di un utente (e la gestione della sessione) sia separata dal sistema ACL. (Non so perché, ma questa sembra una buona idea dalle cose che ho letto.)
Che cosa ha a che fare MVC con questa domanda che chiedi? Perché desidero che l'applicazione sia ben integrata con il mio ACL. Un esempio di controller (CodeIgniter):
<?php
class forums extends MX_Controller
{
$allowed = array('users', 'admin');
$need_login = true;
function __construct()
{
//example of checking if logged in.
if($this->auth->logged_in() && $this->auth->is_admin())
{
echo "you're logged in!";
}
}
public function add_topic()
{
if($this->auth->allowed('add_topic')
{
//some add topic things.
}
else
{
echo 'not allowed to add topic';
}
}
}
?>
I miei pensieri
$this->auth
verrebbe caricato automaticamente nel sistema. Vorrei controllare la matrice $allowed
contro l'utente attualmente (non) loggato e reagire di conseguenza.
È un buon modo di fare le cose? Non ho visto molta letteratura sull'integrazione MVC e su Auth. Voglio rendere le cose il più semplici possibile.