2009-10-30 7 views
2

Mon application Web ne dispose que d'un niveau d'autorisation. C'est soit vous êtes connecté ou non. L'ACL serait-elle trop lourde pour cela? Le composant Auth serait-il suffisant/sécurisé pour gérer cette situation?CakePHP: ACL et/ou Auth

Est-ce que CakePHP utilise des utilisateurs anonymes? Si oui, y a-t-il un moyen de l'éteindre? Je ne pense pas que j'ai besoin de passer des sessions si l'utilisateur est anonyme.

Répondre

3

Le composant ACL n'est nécessaire que si vous devez fournir l'accès à certaines parties du site à certains groupes d'utilisateurs et pas à d'autres. Si vous avez seulement besoin de savoir si quelqu'un est un utilisateur ou non, l'authentification vous couvrira.

Par défaut, les sessions sont créées pour tout le monde. Si vous ne les utilisez pas pour des utilisateurs anonymes, il est bon de les laisser allumés tout le temps car a) c'est plus facile et b) les frais généraux sont extrêmement minimes. Si vous décidez d'aller de l'avant et de les désactiver lorsqu'il n'est pas utilisé, vous pouvez set Session.start to false dans app/config/core.php.

Toutefois, vous devrez ajouter du code pour démarrer la session lorsqu'un utilisateur est connecté. Vous pouvez également rencontrer des problèmes avec le composant Auth. Il utilise le composant Session et je pense qu'il s'attend à ce que les sessions soient démarrées à chaque chargement de page.

1

Réponse courte: Peut-être. Réponse longue: semble que, pour le cas que vous expliquez, Auth devrait être suffisant (à condition que vous utilisiez aussi Sanitize, mais c'est quelque chose que vous devriez aussi faire si vous utilisez ACL de toute façon). En ce qui concerne l'utilisation des sessions, je ne pense pas que vous ayez à vous soucier de l'utilisation de Cake pour les utilisateurs anonymes, mais je n'ai pas vraiment lu le code. Quoi qu'il en soit, je ne pense pas qu'il sera facile de les désactiver pour les utilisateurs non connectés mais de les laisser pour les personnes connectées.

0

Utilisation du composant Auth est très bien

Utilisation de la bibliothèque Désinfecter n'a rien à voir avec du tout. En connaissant Cake, si quelque chose a besoin d'être aseptisé en conjonction avec le composant Auth, alors ce composant utilisera Sanitize en interne. Vous n'avez pas besoin de faire quoi que ce soit avec vous-même. Si vous définissez un modèle utilisateur avec un identifiant, un nom d'utilisateur et un mot de passe, insérez simplement le composant Auth dans votre AppController et définissez le composant pour autoriser l'action 'display' (pour la page d'accueil IE PagesController :: display ('home ');) qui devrait vous aider à démarrer. Googling ou recherche bakery.cakephp.org devrait vous donner quelques bons tutoriels Auth.

Questions connexes