Bonjour, je suis en train de créer une application mais j'ai un problème. j'ai plusieurs utilisateurs et je dois leurs assignés des droits différents:
administrateur utilisateur avec pouvoir utilisateur lecteur
le problème c'es tque je ne sais pas comment my prendre j'ai déja créer une base de donnés avec les noms des utilisateur mais pour le reste ....
Si tes niveaux de droits (ou ton application) deviennent complexes, je te conseille de te pencher sur le principe des roles.
-- Ronnie Garcia <ronnie at mk2 dot net>
--
Jerome
On Thu, 28 Oct 2004 10:14:09 +0000, vittorioM wrote:
Bonjour, je suis en train de créer une application mais j'ai un problème. j'ai plusieurs utilisateurs et je dois leurs assignés des droits différents:
administrateur utilisateur avec pouvoir utilisateur lecteur
le problème c'es tque je ne sais pas comment my prendre j'ai déja créer une base de donnés avec les noms des utilisateur mais pour le reste ....
merci d'avance Bonjour
Le plus simple serait d'ajouter une colonne dans ta table des utilisateurs. Cette table serait donc sous la forme : login, password,email,droits, etc où la colonne "droits" serait, sous forme codée, les droits des utilisateurs. On peut envisager par exemple : 0 pour admin, 1 pour user avec pouvoir, etc. Au moment de l'authentification, il faut stocker cette information dans une variable de session pour que l'utilisateur navigue sur le site avec ses droits.
Bon courage
-- Jerome +----------------------------------------------------+ Linux user #347847 registered on http://counter.li.org +----------http://www.mandrakelinux.com -------------+
--
On Thu, 28 Oct 2004 10:14:09 +0000, vittorioM wrote:
Bonjour,
je suis en train de créer une application mais j'ai un problème.
j'ai plusieurs utilisateurs et je dois leurs assignés des droits différents:
administrateur
utilisateur avec pouvoir
utilisateur
lecteur
le problème c'es tque je ne sais pas comment my prendre
j'ai déja créer une base de donnés avec les noms des utilisateur mais pour
le reste ....
merci d'avance
Bonjour
Le plus simple serait d'ajouter une colonne dans ta table des
utilisateurs. Cette table serait donc sous la forme : login,
password,email,droits, etc où la colonne "droits" serait, sous forme
codée, les droits des utilisateurs. On peut envisager par exemple : 0
pour admin, 1 pour user avec pouvoir, etc.
Au moment de l'authentification, il faut stocker cette information dans
une variable de session pour que l'utilisateur navigue sur le site avec
ses droits.
Bon courage
--
Jerome
+----------------------------------------------------+
Linux user #347847 registered on http://counter.li.org
+----------http://www.mandrakelinux.com -------------+
On Thu, 28 Oct 2004 10:14:09 +0000, vittorioM wrote:
Bonjour, je suis en train de créer une application mais j'ai un problème. j'ai plusieurs utilisateurs et je dois leurs assignés des droits différents:
administrateur utilisateur avec pouvoir utilisateur lecteur
le problème c'es tque je ne sais pas comment my prendre j'ai déja créer une base de donnés avec les noms des utilisateur mais pour le reste ....
merci d'avance Bonjour
Le plus simple serait d'ajouter une colonne dans ta table des utilisateurs. Cette table serait donc sous la forme : login, password,email,droits, etc où la colonne "droits" serait, sous forme codée, les droits des utilisateurs. On peut envisager par exemple : 0 pour admin, 1 pour user avec pouvoir, etc. Au moment de l'authentification, il faut stocker cette information dans une variable de session pour que l'utilisateur navigue sur le site avec ses droits.
Bon courage
-- Jerome +----------------------------------------------------+ Linux user #347847 registered on http://counter.li.org +----------http://www.mandrakelinux.com -------------+
--
Sebastien
Si tes niveaux de droits (ou ton application) deviennent complexes, je te conseille de te pencher sur le principe des roles.
Pourrais-tu développer un petit peu stp ? Merci.
--
Si tes niveaux de droits (ou ton application) deviennent complexes, je
te conseille de te pencher sur le principe des roles.
Si tes niveaux de droits (ou ton application) deviennent complexes, je te conseille de te pencher sur le principe des roles.
Pourrais-tu développer un petit peu stp ? Merci.
--
Rene Belanger
De quelle façon que veux tu que l'usager identifi dans ton application? Cela va déterminer de quelle type de gestion que tu va utiliser. il y a la gestion des sessions, htacess, et probablement bien d`autre. Tu dois de définir un fonction en paramètre l`usager et le code de protection de la pages courante, et retourner la valeur vrai ou faux pour savoir si usager que tu as passe en paramètre est Ok pour lire cette page. La fonction est placé au début de chaque page que tu veux protéger.
j`espères que ça va te donner des idées pour construire ta gestion.
Bonne chance.
De quelle façon que veux tu que l'usager identifi dans ton application?
Cela va déterminer de quelle type de gestion que tu va utiliser. il y a la
gestion des sessions, htacess, et probablement bien d`autre. Tu dois de
définir un fonction en paramètre l`usager et le code de protection de la
pages courante, et retourner la valeur vrai ou faux pour savoir si usager
que tu as passe en paramètre est Ok pour lire cette page. La fonction est
placé au début de chaque page que tu veux protéger.
j`espères que ça va te donner des idées pour construire ta gestion.
De quelle façon que veux tu que l'usager identifi dans ton application? Cela va déterminer de quelle type de gestion que tu va utiliser. il y a la gestion des sessions, htacess, et probablement bien d`autre. Tu dois de définir un fonction en paramètre l`usager et le code de protection de la pages courante, et retourner la valeur vrai ou faux pour savoir si usager que tu as passe en paramètre est Ok pour lire cette page. La fonction est placé au début de chaque page que tu veux protéger.
j`espères que ça va te donner des idées pour construire ta gestion.
Bonne chance.
Moulin Mathieu
vittorioM wrote:
Bonjour, je suis en train de créer une application mais j'ai un problème. j'ai plusieurs utilisateurs et je dois leurs assignés des droits différents:
administrateur utilisateur avec pouvoir utilisateur lecteur
le problème c'es tque je ne sais pas comment my prendre j'ai déja créer une base de donnés avec les noms des utilisateur mais pour le reste ....
merci d'avance
Un champ 'droit' dans ta table 'user', avec corespondance : 0 = admin 1 = user_pouv 2 = user 3 = lecteur
Ensuite tu créé un table 'droit', avec 2 champs : page = nom de la page concernée droit = droit sur la page
Enfin, lorsque qqun est loggué, à chaque requête sur une page il suffit de vérifier si le droit de l'utilisateur est suffisant ...
Si un admin est aussi un user_pouv qui est aussi un user qui est aussi un lecteur, la requête est simple : "SELECT t1.droit , t2.droit FROM user as t1 , droit as t2 WHERE t1.login = '$login' AND t2.page = '$page'". Si tu vois ce que je veux dire ...
---------------- Mathieu Moulin - lemathou at free point fr Linux ? Ma liberté ...
--
vittorioM wrote:
Bonjour,
je suis en train de créer une application mais j'ai un problème.
j'ai plusieurs utilisateurs et je dois leurs assignés des droits
différents:
administrateur
utilisateur avec pouvoir
utilisateur
lecteur
le problème c'es tque je ne sais pas comment my prendre
j'ai déja créer une base de donnés avec les noms des utilisateur mais pour
le reste ....
merci d'avance
Un champ 'droit' dans ta table 'user', avec corespondance :
0 = admin
1 = user_pouv
2 = user
3 = lecteur
Ensuite tu créé un table 'droit', avec 2 champs :
page = nom de la page concernée
droit = droit sur la page
Enfin, lorsque qqun est loggué, à chaque requête sur une page il suffit de
vérifier si le droit de l'utilisateur est suffisant ...
Si un admin est aussi un user_pouv qui est aussi un user qui est aussi un
lecteur, la requête est simple : "SELECT t1.droit , t2.droit FROM user as
t1 , droit as t2 WHERE t1.login = '$login' AND t2.page = '$page'".
Si tu vois ce que je veux dire ...
----------------
Mathieu Moulin - lemathou at free point fr
Linux ? Ma liberté ...
Bonjour, je suis en train de créer une application mais j'ai un problème. j'ai plusieurs utilisateurs et je dois leurs assignés des droits différents:
administrateur utilisateur avec pouvoir utilisateur lecteur
le problème c'es tque je ne sais pas comment my prendre j'ai déja créer une base de donnés avec les noms des utilisateur mais pour le reste ....
merci d'avance
Un champ 'droit' dans ta table 'user', avec corespondance : 0 = admin 1 = user_pouv 2 = user 3 = lecteur
Ensuite tu créé un table 'droit', avec 2 champs : page = nom de la page concernée droit = droit sur la page
Enfin, lorsque qqun est loggué, à chaque requête sur une page il suffit de vérifier si le droit de l'utilisateur est suffisant ...
Si un admin est aussi un user_pouv qui est aussi un user qui est aussi un lecteur, la requête est simple : "SELECT t1.droit , t2.droit FROM user as t1 , droit as t2 WHERE t1.login = '$login' AND t2.page = '$page'". Si tu vois ce que je veux dire ...
---------------- Mathieu Moulin - lemathou at free point fr Linux ? Ma liberté ...
--
Laurent Seguin
Moulin Mathieu , le 29 oct. 2004 14:51:02, écrivait ceci:
Un champ 'droit' dans ta table 'user', avec corespondance : 0 = admin 1 = user_pouv 2 = user 3 = lecteur
Ensuite tu créé un table 'droit', avec 2 champs : page = nom de la page concernée droit = droit sur la page
Perso j'aurais plutôt fait : users( email -> va ... ) pages( uri -> va ... ) auth( user -> FK users.email uri -> FK pages.uri droit -> int )
Enfin, lorsque qqun est loggué, à chaque requête sur une page il suffit de vérifier si le droit de l'utilisateur est suffisant ...
Pareil mais avec la gestion des jointures :-)
SELECT droit FROM users,auth,pages WHERE users.email=auth.user AND auth.uri=pages.uri AND users.email='$login' AND page.uri='$page'
Moulin Mathieu <antispam.lemathou.antispam@antispam.free.fr.antispam>,
le 29 oct. 2004 14:51:02, écrivait ceci:
Un champ 'droit' dans ta table 'user', avec corespondance :
0 = admin
1 = user_pouv
2 = user
3 = lecteur
Ensuite tu créé un table 'droit', avec 2 champs :
page = nom de la page concernée
droit = droit sur la page
Perso j'aurais plutôt fait :
users(
email -> va
...
)
pages(
uri -> va
...
)
auth(
user -> FK users.email
uri -> FK pages.uri
droit -> int
)
Enfin, lorsque qqun est loggué, à chaque requête sur une page il
suffit de vérifier si le droit de l'utilisateur est suffisant ...
Pareil mais avec la gestion des jointures :-)
SELECT droit
FROM users,auth,pages
WHERE users.email=auth.user
AND auth.uri=pages.uri
AND users.email='$login'
AND page.uri='$page'
Moulin Mathieu , le 29 oct. 2004 14:51:02, écrivait ceci:
Un champ 'droit' dans ta table 'user', avec corespondance : 0 = admin 1 = user_pouv 2 = user 3 = lecteur
Ensuite tu créé un table 'droit', avec 2 champs : page = nom de la page concernée droit = droit sur la page
Perso j'aurais plutôt fait : users( email -> va ... ) pages( uri -> va ... ) auth( user -> FK users.email uri -> FK pages.uri droit -> int )
Enfin, lorsque qqun est loggué, à chaque requête sur une page il suffit de vérifier si le droit de l'utilisateur est suffisant ...
Pareil mais avec la gestion des jointures :-)
SELECT droit FROM users,auth,pages WHERE users.email=auth.user AND auth.uri=pages.uri AND users.email='$login' AND page.uri='$page'
Marc
...
SELECT droit FROM users,auth,pages WHERE users.email=auth.user AND auth.uri=pages.uri AND users.email='$login' AND page.uri='$page'
la clé pour rentrer sur le systeme dans ce cas est l'adresse email. vu de la position d'un hackeur, il devient intéressant de modifier ses cookies et de voir le comportement du systeme ...
et pourquoi ne pas creer des id sur chaque table pour les foreign keys ?
sinon l'idée est tres sympathique. Manque juste la notion de groupe.
...
SELECT droit
FROM users,auth,pages
WHERE users.email=auth.user
AND auth.uri=pages.uri
AND users.email='$login'
AND page.uri='$page'
la clé pour rentrer sur le systeme dans ce cas est l'adresse email.
vu de la position d'un hackeur, il devient intéressant de modifier ses
cookies et de voir le comportement du systeme ...
et pourquoi ne pas creer des id sur chaque table pour les foreign keys ?
sinon l'idée est tres sympathique. Manque juste la notion de groupe.
SELECT droit FROM users,auth,pages WHERE users.email=auth.user AND auth.uri=pages.uri AND users.email='$login' AND page.uri='$page'
la clé pour rentrer sur le systeme dans ce cas est l'adresse email. vu de la position d'un hackeur, il devient intéressant de modifier ses cookies et de voir le comportement du systeme ...
et pourquoi ne pas creer des id sur chaque table pour les foreign keys ?
sinon l'idée est tres sympathique. Manque juste la notion de groupe.
Laurent Seguin
Marc , le 01 nov. 2004 12:40:30, écrivait ceci:
...
SELECT droit FROM users,auth,pages WHERE users.email=auth.user AND auth.uri=pages.uri AND users.email='$login' AND page.uri='$page'
la clé pour rentrer sur le systeme dans ce cas est l'adresse email.
Par exemple... Mais bon AMHA a part des cas précis l'email est généralement unique et donc peut servir à l'identification. Si ça te fait plaisir on remplace par login ;)
vu de la position d'un hackeur, il devient intéressant de modifier ses cookies et de voir le comportement du systeme ...
On a parlé cookie quelque part ?
et pourquoi ne pas creer des id sur chaque table pour les foreign keys ?
Comprend pas la question...
sinon l'idée est tres sympathique. Manque juste la notion de groupe.
Bien sur la c'est un exemple basique ou la notion de droit est un simple entier dans la table de jointure, en fonction de l'applicatif on peu faire plus complet mais ce n'est apparement pas ca qui a été demandé. Mais bon la on s'éloigne un peu de PHP pour entrer dans la modélisation de BdD.
Marc <__quinton__@free.fr>, le 01 nov. 2004 12:40:30, écrivait ceci:
...
SELECT droit
FROM users,auth,pages
WHERE users.email=auth.user
AND auth.uri=pages.uri
AND users.email='$login'
AND page.uri='$page'
la clé pour rentrer sur le systeme dans ce cas est l'adresse email.
Par exemple... Mais bon AMHA a part des cas précis l'email est généralement
unique et donc peut servir à l'identification. Si ça te fait plaisir on
remplace par login ;)
vu de la position d'un hackeur, il devient intéressant de modifier ses
cookies et de voir le comportement du systeme ...
On a parlé cookie quelque part ?
et pourquoi ne pas creer des id sur chaque table pour les foreign keys ?
Comprend pas la question...
sinon l'idée est tres sympathique. Manque juste la notion de groupe.
Bien sur la c'est un exemple basique ou la notion de droit est un simple
entier dans la table de jointure, en fonction de l'applicatif on peu faire
plus complet mais ce n'est apparement pas ca qui a été demandé. Mais bon la
on s'éloigne un peu de PHP pour entrer dans la modélisation de BdD.
SELECT droit FROM users,auth,pages WHERE users.email=auth.user AND auth.uri=pages.uri AND users.email='$login' AND page.uri='$page'
la clé pour rentrer sur le systeme dans ce cas est l'adresse email.
Par exemple... Mais bon AMHA a part des cas précis l'email est généralement unique et donc peut servir à l'identification. Si ça te fait plaisir on remplace par login ;)
vu de la position d'un hackeur, il devient intéressant de modifier ses cookies et de voir le comportement du systeme ...
On a parlé cookie quelque part ?
et pourquoi ne pas creer des id sur chaque table pour les foreign keys ?
Comprend pas la question...
sinon l'idée est tres sympathique. Manque juste la notion de groupe.
Bien sur la c'est un exemple basique ou la notion de droit est un simple entier dans la table de jointure, en fonction de l'applicatif on peu faire plus complet mais ce n'est apparement pas ca qui a été demandé. Mais bon la on s'éloigne un peu de PHP pour entrer dans la modélisation de BdD.