Génération de menus dynamiques et habilitations - PHP - Programmation
Marsh Posté le 19-07-2006 à 22:09:10
Jvois pas de problèmes:
tu fais un systèmes d'auth pour les users:
Dès qu'il se logue => session (+cookie eventuellement)
Tu peux par ex défini des degrés de users dans t'as DB, quand l'user se logue, sa stocke son degrés dans sa session.
Tu fais une fonction toute bête qui check si c'est un user ou pas (donc en utilisant l'eventuelle session), qui par ex retourne le degrés d'user s'il est loggué (-1 si non loggué).
T'as plus qu'a faire un switch après
menu.php
Code :
|
Marsh Posté le 20-07-2006 à 08:11:40
J'avais oublié de le préciser mea culpa... mais les différents degrés d'utilisateurs sont entièrement paramétrables... Je viens de penser à créer une fonction addLink($page) qui pourrait tester si l'utilisateur a le droit de consulter la page (en gros, s'il a accès à au moins une des fonctionnalités de la page), mais ça fait beaucoup d'accès en plus à la base de donnés, non ?
Marsh Posté le 20-07-2006 à 08:50:07
Ce que je comprend alors c'est que chaque utilisateurs aura un degrés completement différent c'est ca ?
Va y'avoir bcp de pages ?
edit: t'as 2 solutions, soit tu fais une table de correspondace entre les pages et les utilisateurs.
Soit quand tu charges une page tu fais appel à une fonction qui va taper dans la base
Soit à l'ouverture de la session tu stockes toutes les pages aux quelles l'user à droit. Mais ca me parait bien lourd et pas très gerable. Donc à par la premire solution.
Ceci dit si t'as 500 utilisateurs avec 500 droits différents... bonjour la gestion... enfin je dit ça je dit rien
Marsh Posté le 19-07-2006 à 21:26:56
Bonjour,
Je suis actuellement en train de développer un CMS. Il est basé sur un système de modules, qui s'intègrent au CMS. Chacun des modules possèdent des fonctionnalités auxquelles ont peu ou non donner l'accès à l'utilisateur (enfin ça c'est sur le papier).
Le CMS est divisé en rubriques, dans lesquelles je stocke des pages, contenant 1 ou plusieurs fonctionnalités (style afficher des news, afficher une galerie, poster une news, ...), tout ça mappé dans la base de données. L'accès est donné par rôle ou par utilisateur, pour telle ou telle fonctionnalité.
Pour gérer le truc, je pensait faire une couche habilitation/authentification, qui vérifierait, avant d'afficher la page, que l'utilisateur a accès à au moins l'une des fonctionnalités présentes sur cette page. Le problème viens de la génération des liens. Comment faire pour que l'utilisateur n'ait affiché à l'écran que les liens vers les pages auxquelles il aura accès ? De mon côté, ça fait 2 jours que je m'y casse la tête dessus et j'ai toujours rien trouvé, alors si quelqu'un a une idée ...