PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2024 → Systeme de droit ?
Systeme de droit ?
Débuté par info, 12 juil. 2003 13:34 - 8 réponses
Posté le 12 juillet 2003 - 13:34
Bonjour,

Je souhaite mettre en place sur un site un systeme d'identification utilisateur
avec gestion de droit différent par utilisateur suivant les section du site
:

Administrateur, utilisateur, invité, section1, section2 ...

Exist'il un exemple quelque part, comment s'y prendre ?

Merci de votre aide.

PS : Dommage qu'il n'existe pas une partie sur le site Pcsoft ou l'on pourait
trouver des morceaux de code, des exemples, tutorial...
Posté le 15 juillet 2003 - 12:24
Sauf erreur, il existe une gestion des Logins dans Webdev. Pour en savoir
plus, dans l'aide, recherche le mot LOGIN, cela devrait t'aider...


"Chris" <info@cwi.fr> a écrit dans le message news: 3f0fe444$1@news....

Bonjour,

Je souhaite mettre en place sur un site un systeme d'identification

utilisateur
> avec gestion de droit différent par utilisateur suivant les section du
site
:

Administrateur, utilisateur, invité, section1, section2 ...

Exist'il un exemple quelque part, comment s'y prendre ?

Merci de votre aide.

PS : Dommage qu'il n'existe pas une partie sur le site Pcsoft ou l'on

pourait
trouver des morceaux de code, des exemples, tutorial...


Posté le 15 juillet 2003 - 15:01
> Je souhaite mettre en place sur un site un systeme d'identification
utilisateur
avec gestion de droit différent par utilisateur suivant les section du

site

> Exist'il un exemple quelque part, comment s'y prendre ?

Je suis en train de réaliser une application qui nécessite également ce
genre de chose et
voici en gros les grandes lignes de comment j'ai procédé:

J'ai une table MAGASINS qui représente les différents magasins qui se
connecteront
au server. Pour chaque magasins j'ai un MOT DE PASSE propre qui sera changé
toutes les
semaines.

Avec ce mote de passe j'encripte l'ID et le nom du magasins que j'écris dans
un cookie
avec les fonction cookie écrit...
Au lancement de l'application, je teste si mon cookie existe, si c'est le
cas, je lis les
infos les décrypte et récupère le nom et l'ID du magasins dans une variable
globale au projet, ce
qui me permettra de savoir de quel magasin il s'agit.
Si le cookie n'existe pas cela veut dire que c'est la première foi que
l'utilisateur se connecte et
c'est à ce moment qu'il a besoin du mot de passe qui est propre à chaque
magasin...

Voilà, appraement cela fonctionne pas mal...si quelqu'un avait un avis sur
cette façon de faire...;-)

A+

Vincent
Posté le 16 juillet 2003 - 20:24
Ta solution et bien mais elle evite juste une identification a chaque connection
au site, après il faut pouvoir gérer les différentes partie que l'utilisateur
a le droit d'afficher ou afficher que se qu'il a le droit ;)

C'est une autre paire de manche !?

Quelqu'un l'a déja fait ?

Salutations



"Vincent Janssens" <vin.janssens@skynet.be> wrote:

Je souhaite mettre en place sur un site un systeme d'identification
utilisateur

avec gestion de droit différent par utilisateur suivant les section du
site


Exist'il un exemple quelque part, comment s'y prendre ?

Je suis en train de réaliser une application qui nécessite également ce
genre de chose et
voici en gros les grandes lignes de comment j'ai procédé:

J'ai une table MAGASINS qui représente les différents magasins qui se
connecteront
au server. Pour chaque magasins j'ai un MOT DE PASSE propre qui sera changé
toutes les
semaines.

Avec ce mote de passe j'encripte l'ID et le nom du magasins que j'écris

dans
un cookie
avec les fonction cookie écrit...
Au lancement de l'application, je teste si mon cookie existe, si c'est le
cas, je lis les
infos les décrypte et récupère le nom et l'ID du magasins dans une variable
globale au projet, ce
qui me permettra de savoir de quel magasin il s'agit.
Si le cookie n'existe pas cela veut dire que c'est la première foi que
l'utilisateur se connecte et
c'est à ce moment qu'il a besoin du mot de passe qui est propre à chaque
magasin...

Voilà, appraement cela fonctionne pas mal...si quelqu'un avait un avis sur
cette façon de faire...;-)

A+

Vincent



Posté le 17 juillet 2003 - 10:21
slt chris

il te suffit de gérer une table d'utilisateurs AVEC LEUR NIVEAU DE DROIT =>
donc gérer l'entrée au site par la saisie d'un login et d'un password sur
une page d'accueil comme tu le fait déjà.

Normalement lorsqu'ils se connectent tu les contrôles par rapport à une
table déjà existante à laquelle tu ajoutes ce niveau de droit que tu
transmet au cookie.

A chaque fois que tu liras ce cookie tu récupères aussi ses droits (et c'est
même valable par utilisateurs de chaque magasin si tu pousses un peu).

Que penses-tu de cette solution ?

Alain V

"Chris" <info@cwi.fr> a écrit dans le message de news: 3f158a30$1@news....


Ta solution et bien mais elle evite juste une identification a chaque

connection
> au site, après il faut pouvoir gérer les différentes partie que
l'utilisateur
a le droit d'afficher ou afficher que se qu'il a le droit ;)

C'est une autre paire de manche !?

Quelqu'un l'a déja fait ?

Salutations



"Vincent Janssens" <vin.janssens@skynet.be> wrote:

Je souhaite mettre en place sur un site un systeme d'identification
utilisateur

avec gestion de droit différent par utilisateur suivant les section du
site


Exist'il un exemple quelque part, comment s'y prendre ?

Je suis en train de réaliser une application qui nécessite également ce
genre de chose et
voici en gros les grandes lignes de comment j'ai procédé:

J'ai une table MAGASINS qui représente les différents magasins qui se
connecteront
au server. Pour chaque magasins j'ai un MOT DE PASSE propre qui sera

changé
toutes les
semaines.

Avec ce mote de passe j'encripte l'ID et le nom du magasins que j'écris
dans

un cookie
avec les fonction cookie écrit...
Au lancement de l'application, je teste si mon cookie existe, si c'est le
cas, je lis les
infos les décrypte et récupère le nom et l'ID du magasins dans une

variable
globale au projet, ce
qui me permettra de savoir de quel magasin il s'agit.
Si le cookie n'existe pas cela veut dire que c'est la première foi que
l'utilisateur se connecte et
c'est à ce moment qu'il a besoin du mot de passe qui est propre à chaque
magasin...

Voilà, appraement cela fonctionne pas mal...si quelqu'un avait un avis

sur
cette façon de faire...;-)

A+

Vincent





Posté le 17 juillet 2003 - 12:34
Ce qui veut dire tout simplement

une table login dans laquelle tu mets un champs DROITS dans lequel tu mets
une valeur (ex : 1)

une table de DROITS avec le code et le libellé (ex : 1 consultation, 2
modification, 3 refuser, 4 administrateur)

Cette table est à la fois informative et permet à l'administeur
d'enregistrer le droit de l'utilisateur qu'il ajoute.

Lors de la connexion par login et mots de passe tu as 2 solutions :
- enregistrer le code DROITS de la table des logins dans une variable
globale au projet et qui est unique pour la session. (tu n'as pas besoins de
gérer une variable de type maVar[i])
- enregistrer le code DROITS dans le champs d'une page dont tu concerves
le contexte ouvert avec d'autres informations de l'utilisateur (valable si
tu as beaucoup d'info car là l'utilisation mémoire sera moins importante que
plusieurs dizaines de variables). En fermant le contexte tu récupères un peu
de ressource mais tu perds les infos.

Ensuite tu faits ton contrôle comme prévus :
si maDonnée = 1 ou 5 ou 36 alors
je faits
sinon
je faits pas
fin

En théorie, un login et mot de passe = 1 niveau de droits. A toi de voir
comment les gérer.

L'idée te parait-elle intéressante ?

Alain V
"Chris" <info@cwi.fr> a écrit dans le message de news: 3f1671c3$1@news....

Effectivement, je pense faire une table utilisateur, une table droit, et

entre
> les deux une table de liaison pour attribuer les différents droits aux
utilisateurs,
mon soucis c'est que sa complique beaucoup et il faut verifier a chaque

page
si l'utilisateur peut voir la page.

Je pensait faire un champs ou il y aurrait les IDDroit de tous les droit
que l'utilisateur pocède : "1,4,6,9..." charger dans un variable global et
ainsi supprimer la table de liaison, mais je ne sait pas si il est

possible
de gerer facilement ce type de champs, il me semble que l'on appel sa un
tableau ?.
Cela permet donc sur chaque page ou partie de site d'attribuer les

IDDroits
que l'utilisateur doit pocéder pour voir la page ou un bouton..:
si IDDroit = 4 ou 6 ou 1 Alors
OK tu peut voir la page
sinon
Tu doit t'identifier
Fin

Quand pensez vous ?

Merci

"Alain V" <alain.vanderriest@snef.fr> wrote:
slt chris

il te suffit de gérer une table d'utilisateurs AVEC LEUR NIVEAU DE DROIT
=>

donc gérer l'entrée au site par la saisie d'un login et d'un password sur
une page d'accueil comme tu le fait déjà.

Normalement lorsqu'ils se connectent tu les contrôles par rapport à une
table déjà existante à laquelle tu ajoutes ce niveau de droit que tu
transmet au cookie.

A chaque fois que tu liras ce cookie tu récupères aussi ses droits (et

c'est
même valable par utilisateurs de chaque magasin si tu pousses un peu).

Que penses-tu de cette solution ?

Alain V

"Chris" <info@cwi.fr> a écrit dans le message de news:

3f158a30$1@news....


Ta solution et bien mais elle evite juste une identification a chaque
connection

au site, après il faut pouvoir gérer les différentes partie que
l'utilisateur

a le droit d'afficher ou afficher que se qu'il a le droit ;)

C'est une autre paire de manche !?

Quelqu'un l'a déja fait ?

Salutations



"Vincent Janssens" <vin.janssens@skynet.be> wrote:

Je souhaite mettre en place sur un site un systeme d'identification
utilisateur

avec gestion de droit différent par utilisateur suivant les section
du

site

Exist'il un exemple quelque part, comment s'y prendre ?

Je suis en train de réaliser une application qui nécessite également
ce

genre de chose et
voici en gros les grandes lignes de comment j'ai procédé:

J'ai une table MAGASINS qui représente les différents magasins qui se
connecteront
au server. Pour chaque magasins j'ai un MOT DE PASSE propre qui sera
changé

toutes les
semaines.

Avec ce mote de passe j'encripte l'ID et le nom du magasins que

j'écris
dans
un cookie
avec les fonction cookie écrit...
Au lancement de l'application, je teste si mon cookie existe, si c'est
le

cas, je lis les
infos les décrypte et récupère le nom et l'ID du magasins dans une
variable

globale au projet, ce
qui me permettra de savoir de quel magasin il s'agit.
Si le cookie n'existe pas cela veut dire que c'est la première foi que
l'utilisateur se connecte et
c'est à ce moment qu'il a besoin du mot de passe qui est propre à

chaque
magasin...

Voilà, appraement cela fonctionne pas mal...si quelqu'un avait un avis
sur

cette façon de faire...;-)

A+

Vincent










Posté le 17 juillet 2003 - 12:52
Effectivement, je pense faire une table utilisateur, une table droit, et entre
les deux une table de liaison pour attribuer les différents droits aux utilisateurs,
mon soucis c'est que sa complique beaucoup et il faut verifier a chaque page
si l'utilisateur peut voir la page.

Je pensait faire un champs ou il y aurrait les IDDroit de tous les droit
que l'utilisateur pocède : "1,4,6,9..." charger dans un variable global et
ainsi supprimer la table de liaison, mais je ne sait pas si il est possible
de gerer facilement ce type de champs, il me semble que l'on appel sa un
tableau ?.
Cela permet donc sur chaque page ou partie de site d'attribuer les IDDroits
que l'utilisateur doit pocéder pour voir la page ou un bouton..:
si IDDroit = 4 ou 6 ou 1 Alors
OK tu peut voir la page
sinon
Tu doit t'identifier
Fin

Quand pensez vous ?

Merci

"Alain V" <alain.vanderriest@snef.fr> wrote:
slt chris

il te suffit de gérer une table d'utilisateurs AVEC LEUR NIVEAU DE DROIT

=>
donc gérer l'entrée au site par la saisie d'un login et d'un password sur
une page d'accueil comme tu le fait déjà.

Normalement lorsqu'ils se connectent tu les contrôles par rapport à une
table déjà existante à laquelle tu ajoutes ce niveau de droit que tu
transmet au cookie.

A chaque fois que tu liras ce cookie tu récupères aussi ses droits (et c'est
même valable par utilisateurs de chaque magasin si tu pousses un peu).

Que penses-tu de cette solution ?

Alain V

"Chris" <info@cwi.fr> a écrit dans le message de news: 3f158a30$1@news....


Ta solution et bien mais elle evite juste une identification a chaque
connection

au site, après il faut pouvoir gérer les différentes partie que
l'utilisateur

a le droit d'afficher ou afficher que se qu'il a le droit ;)

C'est une autre paire de manche !?

Quelqu'un l'a déja fait ?

Salutations



"Vincent Janssens" <vin.janssens@skynet.be> wrote:

Je souhaite mettre en place sur un site un systeme d'identification
utilisateur

avec gestion de droit différent par utilisateur suivant les section

du
site

Exist'il un exemple quelque part, comment s'y prendre ?

Je suis en train de réaliser une application qui nécessite également

ce
genre de chose et
voici en gros les grandes lignes de comment j'ai procédé:

J'ai une table MAGASINS qui représente les différents magasins qui se
connecteront
au server. Pour chaque magasins j'ai un MOT DE PASSE propre qui sera
changé

toutes les
semaines.

Avec ce mote de passe j'encripte l'ID et le nom du magasins que j'écris
dans

un cookie
avec les fonction cookie écrit...
Au lancement de l'application, je teste si mon cookie existe, si c'est

le
cas, je lis les
infos les décrypte et récupère le nom et l'ID du magasins dans une
variable

globale au projet, ce
qui me permettra de savoir de quel magasin il s'agit.
Si le cookie n'existe pas cela veut dire que c'est la première foi que
l'utilisateur se connecte et
c'est à ce moment qu'il a besoin du mot de passe qui est propre à chaque
magasin...

Voilà, appraement cela fonctionne pas mal...si quelqu'un avait un avis
sur

cette façon de faire...;-)

A+

Vincent








Posté le 17 juillet 2003 - 14:54
Oui, mais le faite qu'un utilisateur n'ai qu'un seul droit par mot de passe
n'est pas pratique, car si il est loguer sous un droit et qu'il peux en avoir
d'autre il doit se reloguer sous sont autre mot de passe, il faut qu'utilisateur
puisse avoir acces au infos qu'il a le droit qui peuvent etre de pluisieurs
niveaux. L'administrateur peut avoir accés a tous la c'est simple; mais l'utilisateur
enregistrer peut suivant sont cas avoir accès uniquement a une partie du
site mais pas a une autre, ce qui m'inquiète c'est d'etre obliger qu'a chaque
page une requette SQL doit verifier si l'utilisateur a le droit ou non. Sa
risque de prendre des ressources, il existe certainement un autre moyen ?

"Alain V" <alain.vanderriest@snef.fr> wrote:
Ce qui veut dire tout simplement

une table login dans laquelle tu mets un champs DROITS dans lequel tu mets
une valeur (ex : 1)

une table de DROITS avec le code et le libellé (ex : 1 consultation, 2
modification, 3 refuser, 4 administrateur)

Cette table est à la fois informative et permet à l'administeur
d'enregistrer le droit de l'utilisateur qu'il ajoute.

Lors de la connexion par login et mots de passe tu as 2 solutions :
- enregistrer le code DROITS de la table des logins dans une variable
globale au projet et qui est unique pour la session. (tu n'as pas besoins

de
gérer une variable de type maVar[i])
- enregistrer le code DROITS dans le champs d'une page dont tu concerves
le contexte ouvert avec d'autres informations de l'utilisateur (valable

si
>tu as beaucoup d'info car là l'utilisation mémoire sera moins importante
que
plusieurs dizaines de variables). En fermant le contexte tu récupères un

peu
de ressource mais tu perds les infos.

Ensuite tu faits ton contrôle comme prévus :
si maDonnée = 1 ou 5 ou 36 alors
je faits
sinon
je faits pas
fin

En théorie, un login et mot de passe = 1 niveau de droits. A toi de voir
comment les gérer.

L'idée te parait-elle intéressante ?

Alain V
"Chris" <info@cwi.fr> a écrit dans le message de news: 3f1671c3$1@news....

Effectivement, je pense faire une table utilisateur, une table droit,

et
entre
les deux une table de liaison pour attribuer les différents droits aux
utilisateurs,

mon soucis c'est que sa complique beaucoup et il faut verifier a chaque
page

si l'utilisateur peut voir la page.

Je pensait faire un champs ou il y aurrait les IDDroit de tous les droit
que l'utilisateur pocède : "1,4,6,9..." charger dans un variable global

et
ainsi supprimer la table de liaison, mais je ne sait pas si il est
possible

de gerer facilement ce type de champs, il me semble que l'on appel sa

un
tableau ?.
Cela permet donc sur chaque page ou partie de site d'attribuer les
IDDroits

que l'utilisateur doit pocéder pour voir la page ou un bouton..:
si IDDroit = 4 ou 6 ou 1 Alors
OK tu peut voir la page
sinon
Tu doit t'identifier
Fin

Quand pensez vous ?

Merci

"Alain V" <alain.vanderriest@snef.fr> wrote:
slt chris

il te suffit de gérer une table d'utilisateurs AVEC LEUR NIVEAU DE DROIT
=>

donc gérer l'entrée au site par la saisie d'un login et d'un password

sur
une page d'accueil comme tu le fait déjà.

Normalement lorsqu'ils se connectent tu les contrôles par rapport à une
table déjà existante à laquelle tu ajoutes ce niveau de droit que tu
transmet au cookie.

A chaque fois que tu liras ce cookie tu récupères aussi ses droits (et
c'est

même valable par utilisateurs de chaque magasin si tu pousses un peu).

Que penses-tu de cette solution ?

Alain V

"Chris" <info@cwi.fr> a écrit dans le message de news:
3f158a30$1@news....



Ta solution et bien mais elle evite juste une identification a chaque
connection

au site, après il faut pouvoir gérer les différentes partie que
l'utilisateur

a le droit d'afficher ou afficher que se qu'il a le droit ;)

C'est une autre paire de manche !?

Quelqu'un l'a déja fait ?

Salutations



"Vincent Janssens" <vin.janssens@skynet.be> wrote:

Je souhaite mettre en place sur un site un systeme d'identification
utilisateur

avec gestion de droit différent par utilisateur suivant les section
du

site

Exist'il un exemple quelque part, comment s'y prendre ?

Je suis en train de réaliser une application qui nécessite également
ce

genre de chose et
voici en gros les grandes lignes de comment j'ai procédé:

J'ai une table MAGASINS qui représente les différents magasins qui

se
connecteront
au server. Pour chaque magasins j'ai un MOT DE PASSE propre qui sera
changé

toutes les
semaines.

Avec ce mote de passe j'encripte l'ID et le nom du magasins que
j'écris

dans
un cookie
avec les fonction cookie écrit...
Au lancement de l'application, je teste si mon cookie existe, si c'est
le

cas, je lis les
infos les décrypte et récupère le nom et l'ID du magasins dans une
variable

globale au projet, ce
qui me permettra de savoir de quel magasin il s'agit.
Si le cookie n'existe pas cela veut dire que c'est la première foi

que
l'utilisateur se connecte et
c'est à ce moment qu'il a besoin du mot de passe qui est propre à
chaque

magasin...

Voilà, appraement cela fonctionne pas mal...si quelqu'un avait un

avis
sur
cette façon de faire...;-)

A+

Vincent













Posté le 17 juillet 2003 - 16:05
A la rigueur fait un code composer de plusieur droit (je te conseille de
bien les définir)

Si la page A est accessible à tous (pas de controle)

si la page B est accessible au niveau B (liaison depuis la page A)
si la page C est accessible au niveau C (liaison depuis la page A)

il te faut :
- un code xxxxx pour un utilisateur ayant droit seulement à la page A
- un code C pour un utilisateur ayant droit à la page A et la page C
- un code BC pour un utilisateur ayant droit aux 3 pages

Lorsque tu faits un page affiche il te faudra faire un controle pour chaque
position selon les droits enregistrés lors du logage.

ex : login d'un utilisateur ayant les droits BC voulant entrer dans la page
B
monDroit est la var renseignée par la valeur de DROIT dans la table login
tu tentes une extraction de la valeur B
si il y retour alors tu ouvres la page sinon tu bloque l'entrée par un
message.

Simplissime. Et je suis sûre qu'on peut encore rendre ça plus simple.

Maintenant GO : tu tiends le bon bon (heu boup)

Alain V