salut pour certains raison j'aimerai savoir comment faire pour utiliser le component auth deux fois dans mon application (utiliser deux table userModel) pour gérer deux type de connexion Form déja je fais ceci?```
public $components = array(
'Session',
'Auth' =>array(
'authenticate' => array(
'Form' => array(

            'userModel'       => 'Personnel',
                'fields'      => array(
                'username'    => 'pseudo', // 'username' par défaut
                'password'    => 'motdepasse' ),  // 'password' par défaut
                'userFields'  =>  array('id','pseudo','enseignements_id','fonctionpersonnels_id','Fonctionpersonnel.poste','enseigne','avatar'),

            'passwordHasher' => array(

                            'className' => 'Simple',
                            'hashType' => 'sha256'

                            )
                )
            ),
        /*'authorize'           =>      array('Controller'),*/

        'loginAction' => array('controller' => 'Personnels', 'action' => 'login'),
        'loginRedirect' => array('controller' => 'Personnels','action' => 'index'),
        'logoutRedirect' => array('controller' => 'Administrators','action' => 'index')
        )

    );

et cela fonctionne très bien . si je veux utiliser une autre table administrateurs pour gérer la connexion à leur interface comment procédé?

3 réponses


Bonjour,

je pense que la meilleur solution c'est d'utiliser un champ role dans ta table users

users(id, username, password, role)

Il te suffit d'autoriser seul les users avec le role 'admin' à accéder à l'administration.

romses
Auteur

j'ai deja un champ role dans ma table le soucis est que il y'a une table pour gérer les invités et d'autres pour gérer les administrateurs et les invités ont des roles pareils que les admin

Je n'ai pas tout bien saisi, mais tu peux multiplier les rôles :

  • guest
  • admin
  • guest_admin (invité qui a le même rôle qu'admin)
  • manager
  • etc...