modelisation de droit

Mammouth du PHP | 1311 Messages

26 oct. 2005, 17:46

salut
je suis sur un systeme de droit, je mouline mais rien ne sort
il y a quatre niveau
-internaut(il peut juste consulter le site )
-admin_produit(ajouter des produit et consulter le site)
-admin_formation(gerer les formation at consulter)
-admin_general(il peut ce qui veut et chnager les droit des autres utilsateur)

et un autre coté mes page sont appellés avec un module et une action
un module est unique et a plusieur actions
une actions peut etre intervenir dans plusieur modules
ex module action
produit display
admin display
admin verifuser

mon probleme vient du fait que j'ai pour chaque page appelle je doit ecrire 4 lignes (niveau d'authentifiaction) je n'aurai pas ce probleme avec un systeme numeric

avez vous une idee de la facon de procedé
merci

Mammouth du PHP | 1885 Messages

26 oct. 2005, 19:39

Bonjour,

Tu pourrais créer un système de droits qui ressemblerait à ceci:
Image

Donc le but est de créer ce genre de schéma relationnel.

Explications rapides:
userid: ID de l'utilisateur
groupid: ID du groupe
module: module où les droits doivent être appliqués
action: action où l'utilisateur aura les droits
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Mammouth du PHP | 1311 Messages

27 oct. 2005, 09:43

merci
encore et toujours des soluces qui font mouche(il me manquait une table)

maintenant je me pose une autre question je voudrai remplacer la table user par celle qui se trouve dans mysql.user pour se connecte avec les bon droit sur mysql.
vaut il mieux passer par une table intermediaire aou remplacer ma table user par celle de mysql.user
et autre chose j'ai fait un composant pour la connection a la base de donnée au maximun indepant de celle ci
or avec ce systeme je suis depandant de la base mysql

est il dangereux de modifier le nom de la base mysql en base

Mammouth du PHP | 19672 Messages

27 oct. 2005, 10:06

Il vaut mieux éviter de toucher à la base mysql, au besoin, fais-toi une copie de la table dans l'autre base. Si tu fais des modifications dans la table mysql, tu risques d'avoir des surprises désagréables
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 1311 Messages

27 oct. 2005, 10:13

ouai je m'attendai a cette reponse c'est dommage

si je fait une rechecher sur plusieur base
ex
$req)'SELECT*FROM mysql.user as mu pj_ing.user as pu where mu.userid=pu.userid';
est ce que cela gene si j'ai un mysql_select_db('pj_ing') :?:

Mammouth du PHP | 19672 Messages

27 oct. 2005, 10:22

Je ne crois pas, en revanche, les erreurs de syntaxe et les fautes de frappe si:
$req = 'SELECT * FROM mysql.user as mu, pj_ing.user as pu where mu.userid=pu.userid';
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 1311 Messages

27 oct. 2005, 10:25

merci pour ces reponses

Mammouth du PHP | 1885 Messages

27 oct. 2005, 14:03

La table mysql.user ne définit pas de champs entier de type AUTO_INCREMENT. Donc aucun moyen de pouvoir créer des jointures.
La programmation est l'expression de la poésie d'un programmeur
Génération PHP