Vorrei sapere come gestire solo UN processo di autenticazione e "utenti" in più tabelle. Ho una tabella di 4 utenti: utenti, amministratori, artisti, teamadmin che hanno tutti campi specifici, ma vorrei che tutti questi utenti fossero in grado di connettersi tramite un solo modulo sulla home page, e di essere successivamente reindirizzati ai loro specifici cruscotti.Auth di Cakephp con più tabelle "Utenti"
Penso che i reindirizzamenti non dovrebbero essere un problema, e alcune rotte aggiunte dovrebbero funzionare, ma non so davvero dove cercare/iniziare a fare tutto ciò possibile.
Cheers,
Nicolas.
EDIT: ecco la soluzione finale (grazie a deizel)
App::import('Component', 'Auth');
class SiteAuthComponent extends AuthComponent {
function identify($user = null, $conditions = null) {
$models = array('User', 'Admin', 'Artist');
foreach ($models as $model) {
$this->userModel = $model; // switch model
$this->params["data"][$model] = $this->params["data"]["User"]; // switch model in params/data too
$result = parent::identify($this->params["data"][$model], $conditions); // let cake do its thing
if ($result) {
return $result; // login success
}
}
return null; // login failure
}
}
perché non hai creato un tavolo singolo per gli utenti.Potresti definire facilmente una colonna separata nella tabella per 'tipo' di utente.Questo modo non avrai bisogno di avere 4 diversi modelli e controller per quegli utenti? –
@Gaurav: Ciao.Non l'ho fatto prima di tutto perché ho fatto l'analisi PRIMA di scegliere il framework, e in secondo luogo perché ci sono relazioni tra artisti e teamartisti, quindi in una vista analisi è necessario definire 2 tabelle. La domanda qui non riguarda la modifica dello schema (ho già pensato a questo, con colonne null) ma cercando di trovare una soluzione PHP per il mio schema. Saluti. – Nicolas
Sto cercando di ottenere una funzionalità molto simile, in cui ogni tipo di utente ha una dashboard diversa. Mi stavo chiedendo dove hai messo quel codice per estendere il componente Auth? E inoltre, come hai raggiunto il reindirizzamento? Impostazione della variabile di reindirizzamento in ciascun controller? Grazie – AlexBrand