Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/09/2011, 17h04   #1
Membre régulier
 
Avatar de hugo69
 
Inscription : avril 2005
Messages : 498
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 498
Points : 91
Points : 91
Par défaut Gérer droits d'accès sur entrées MySQL

J'ai une petite GED, avec des utilisateurs, des groupes d'utilisateurs et des fichiers.

Un utilisateur fait partie d'un ou plusieurs groupe.
Chaque fichier est autorisé en lecture et/ou en écriture pour chaque groupe.
Invisible si aucun accès, visible si lecture et modifiable si écriture.

Pour l'instant, mon système est très lourd, notamment lors de recherches.
Chaque fichier a une ligne d'information qui lui donne par groupe un statut 0, 1 ou 2, respectivement none, read et write.
Et je suis obligé de lire tout cela à chaque fois, pour savoir si le résultat doit être retourné dans mes recherches.


Je cherche une solution plus fiable et surtout plus rapide pour attribuer des droits à mes fichiers, en fonction des groupes.
J'ai vu les notions des opérateurs de bit sur un autre site.

Est ce la bonne solution ? comment vais je pouvoir requeter facilement si je base mes droits d'accès la dessus?

Existe t-il des classes évoluées qui permettent de gérer ce genre de problématique ?

Merci !
hugo69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/09/2011, 10h57   #2
Membre chevronné
 
Avatar de Marc3001
 
Homme
Ingénieur développement logiciels
Inscription : février 2008
Messages : 430
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : février 2008
Messages : 430
Points : 682
Points : 682
Tu parles de MySQL dans ton titre mais tu n'en parles pas dans ton post.....

Citation:
Chaque fichier a une ligne d'information qui lui donne par groupe un statut 0, 1 ou 2, respectivement none, read et write.
Je crois comprendre que tu stockes les droits de chaque fichier directement dans ce fichier?
Dans ce cas pourquoi ne pas stocker toutes ces notions de droits en BDD?
__________________
Le logiciel, c'est comme le sexe, c'est meilleur quand c'est libre.

Linus Torvalds
Marc3001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2011, 14h41   #3
Membre régulier
 
Avatar de hugo69
 
Inscription : avril 2005
Messages : 498
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 498
Points : 91
Points : 91
Désolé, j'ai essayé de faire une description assez simple et résumée. et je me suis un peu emmêlé dans les termes.

J'ai une table fichier, avec l'id, le lien vers le dossier ou est stocké le fichier sur le disque dur.

J'ai une table groupe avec la liste simple des groupes d'utilisateur.

J'ai une table fichier_droits, avec l'id du fichier, l'id du groupe et un niveau de droits, étant 0, 1 ou 2.
Donc si ,j'ai 5 groupe, j'ai 5 lignes pour chaque fichier dans la table fichier_droits.

La table fichier_droits n'est rien d'autre que l'intersection entre les tables fichier et groupe.

Est ce un peu plus clair ?
hugo69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2011, 14h56   #4
Membre chevronné
 
Avatar de Marc3001
 
Homme
Ingénieur développement logiciels
Inscription : février 2008
Messages : 430
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : février 2008
Messages : 430
Points : 682
Points : 682
Ta méthode me parait bonne.

Citation:
Pour l'instant, mon système est très lourd, notamment lors de recherches.
Chaque fichier a une ligne d'information qui lui donne par groupe un statut 0, 1 ou 2, respectivement none, read et write.
Et je suis obligé de lire tout cela à chaque fois, pour savoir si le résultat doit être retourné dans mes recherches.
Rassure-moi tu fais tout ça dans une seule requête SQL....
Sinon c'est ptet pas le schema qu'il faudra changer mais tes requêtes.

Donne-nous le code de recherche avec notamment les requêtes utilisées.
__________________
Le logiciel, c'est comme le sexe, c'est meilleur quand c'est libre.

Linus Torvalds
Marc3001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h17.


 
 
 
 
Partenaires

Hébergement Web