Bonjour,
Je crée actuellement un site web et j'aimerai selon le role de l'utilisateur qu'il le redirrige vers l'administration ou non. Je sais qu'il faut que je fasse un test dans ma fonction login mais je ne sais pas laquelle.
Login :

function login(){
        $this->set($d);
        if($this->request->is('post')){
            if($this->Auth->login()){
                $this->User->id = $this->Auth->user("id");
                $this->User->saveField('lastlogin',date('Y-m-d H:i:s'));
                $this->Session->setFlash("Vous êtes maintenant connecté","notif");
                $this->redirect('/');
            }else{
                $this->Session->setFlash("Votre login ou votre mot de passe ne correspondent pas","notif",array('type'=>'error'));
            }
        }
    }

Merci d'avance

1 réponse


Lartak
Réponse acceptée

Bonsoir.

selon le role de l'utilisateur qu'il le redirrige vers l'administration ou non

il te suffit de regarder quel est le role de l'utilisateur, si par exemple dans ta table users tu as un champ qui se nomme role et que tu as admin pour un administrateur et member pour un utilisateur standard, il te suffit de faire quelque chose comme :

if ($this->Auth->user('role') == 'admin'):
    $this->redirect('/admin');
endif;
$this->redirect('/');

Par contre, c'est quoi ce $this->set($d); alors que la variable $d n'est pas prédéfinie précédemment dans ta fonction ?