2010-08-11 12 views
0

Je viens d'utiliser et d'installer IonAuth sur mon application Codeigniter.Codeigniter IonAuth Library - rediriger après une connexion de membre du groupe

J'ai installé 3 groupes d'utilisateurs ..

Administrateur
Membres
Médias

Serait-il possible de rediriger chaque groupe d'utilisateurs à leur zone de tableau de bord unique, plutôt que la page d'accueil?

par exemple.

admins Connectez-vous et sont redirigés vers =>/admin/dashboard/
membres Connectez-vous et sont redirigés vers =>/users/dashboard/
partenaires médias Connectez-vous et sont redirigés vers =>/media-info/dashboard/

Comment pourrais-je aller à ce sujet dans mon contrôleur d'autorisation?

Merci, Dan

Répondre

1

Dans votre fonction de connexion vérifier le groupe et redirect en conséquence.

function login() 
{ 
    //Login code 
    ... 
    //Login Successful 
    $user = $this->ion_auth->get_user(); 

    switch ($user->group) 
    { 
     case ('admin'): 
      redirect(site_url('admin/dashboard'), 'refresh'); 
     break; 
     case ('user'): 
      redirect(site_url('users/dashboard'), 'refresh'); 
     break; 
     case ('media'): 
      redirect(site_url('media-info/dashboard'), 'refresh'); 
     break; 
    } 

    ... 
} 
+0

Ce fonctionne, mais pourquoi avez-vous des crochets autour de votre chaîne de cas? Pas besoin :) Aussi, pourquoi mettre à jour? Pas besoin de faire ça non plus. –

+0

'refresh' est la syntaxe utilisée par ion auth, donc si rien d'autre est cohérent avec le sujet. De plus, selon les docs de CI, la méthode de redirection par défaut de 'location' peut parfois poser problème sur les serveurs Windows, donc en théorie je suppose que le code est plus portable de cette façon, si vous êtes bloqué sur un de ces serveurs. – colonelclick

0

ici est à moi, si quelqu'un qui cherche en utilisant la fonction si

function index() 
{ 
    if (!$this->ion_auth->logged_in()) 
    { 
     // redirect them to the login page 
     redirect('auth/login', 'refresh'); 
    } 
    else 
    { 
    if ($this->ion_auth->in_group('admin')) 
    { 
     echo "<h1>here is admin</h1>"; 
    } 
    else if ($this->ion_auth->in_group('user')) 
    { 
     echo "<h1>here is user</h1>"; 
    } 
    else if ($this->ion_auth->in_group('media')) 
    { 
     echo "<h1>here is media</h1>"; 
    } 
    else 
    { 
    echo "nothing happen" 
    } 
} 

espère que cela aide quelqu'un là-bas,

REMARQUE: Assurez-vous que le groupe de votre groupe même comme ci-dessus