2013-08-08 2 views
0

J'ai donc deux modèlescontrôle utilisateur CakePHP

clients

employés

La principale différence entre ces deux sont que les employés a des différents contrôles plus avancés. Maintenant, quel que soit l'utilisateur qui se connecte, j'ai besoin de définir un cookie (ce que fait le cookie n'a pas d'importance pour vous donner une idée).

Maintenant que mes employés ont plus d'options et d'actions que les clients, il existe une vue d'index séparée pour le. Maintenant à ma question puisque les deux types d'utilisateurs doivent définir un cookie est-ce possible à partir du contrôleur de connexion client signifiant que "personne inconnue essaie de se connecter" -> "vérifie le modèle client si l'utilisateur existe" si pas "vérifier le contrôle des employés si l'utilisateur existe" si vrai -> "set cookie" -> "aller à l'index des employés"

Est-ce possible et est-ce un bon moyen de le faire. Notez que la raison pour laquelle je dois faire ceci est parce que je veux créer un utilisateur semblable à Dieu dans la table de clients. Ma table de client se compose de beaucoup de jointures et il serait plus facile de créer un utilisateur de «Dieu comme» qui ressemblera à un client normal (sorte de comme un proxy).

Répondre

2

Je pense que vous êtes allé à ce sujet dans le mauvais sens.

Idéalement, vous devriez avoir une table users et un modèle User correspondant, et ensuite utiliser ACL pour déterminer ce qu'un utilisateur peut et ne peut pas faire. Vous pouvez créer des rôles pour les clients et les employés, définir des autorisations sur ces groupes et affecter chaque utilisateur à un groupe.

Si vous souhaitez stocker des données spécifiques aux clients et aux employés, vous pouvez toujours créer ces tables/modèles et les définir comme appartenant à un utilisateur.

+0

c'est en fait exactement ce que j'ai fait. Les clients ont été faits en utilisant ACL mais une nouvelle demande a été faite pour faire des employés à cause de ceci un identifiant dans notre table de client est maintenant le "admin id" et tout ce que je dois faire quand je me connecte est de recueillir cet id statique ou même mieux le définir lors de la création d'un nouvel employé, la seule vraie question est: puis-je rediriger vers une autre vue après? –

+0

Ce n'est pas ce que vous avez fait si vous avez deux modèles distincts. L'ACL doit indiquer si un utilisateur est un client ou un employé; pas le modèle lui-même. En utilisant ACL, vous pouvez restreindre l'accès à un groupe entier si vous le souhaitez. –

+0

Je viens d'être corrigé par mon patron, nous n'utilisons pas encore ACL mais c'est une bonne idée de le configurer –