Auth et 2 table

Par romses, il y a 10 ans


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

connected, il y a 10 ans

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, il y a 10 ans

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

connected, il y a 10 ans

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...