2010-07-23 10 views
0

Je voudrais savoir comment faire un login dans CakePhp quand mes données proviennent de 2 tables. En raison des spécifications dans l'application des données de la table est divisée comme ceci: utilisateurs: détails: id id idDetail nom d'utilisateur mot de passe group_idAuth dans CakePhp en utilisant 2 tables

Tout en faisant la connexion de la users_controller, je voudrais faire la Composant Auth pour vérifier le nom d'utilisateur et le mot de passe de la vue par rapport à la table des détails. Existe-t-il une telle façon de faire ce mécanisme de connexion sans le faire à partir de details_controller? ou un moyen de se connecter à partir de details_controller et de faire l'ACL pour vérifier la table des utilisateurs pour accorder l'accès?

Merci.

Répondre

0

C'est très facile. Créez un modèle lié à la vue de base de données. Fondamentalement, il sera un modèle vide comme:

class UserView extends AppModel { 
    var $name = 'UserView'; 
} 

maintenant dans votre action beforeFilter de AppController utilisation

$this->Auth->userModel = 'UserView'; 

Et cela devrait faire le travail. Jetez un oeil sur cet article dans the cookbook

+0

Je me demandais juste si vous utilisez toujours le UsersController et si oui avez-vous besoin de charger le modèle User? – Leo

+0

@firith: les deux tables sont-elles liées? – Leo

+0

Oui, ils étaient liés. J'ai dû remplacer le composant Auth :: identify pour que cela fonctionne, merci beaucoup :) – user400506