Donc si j'ai bien compris, tu crée des droits dans une base 'perso'.
Lorsque la personne se log, ton application web va chercher les droits dans ta base 'perso' pour brider certaines fonctions (pas d'affichage). Mais tu souhaiterais que celà bride aussi les droits sur tes tables.
Donc tu dois gérer deux comptes :
- celui pour faire l'affichage (je bride ou pas telle fonction)
- celui qui limite l'accès aux tables
En relisant le premier post, j'ai l'impression que tu veux recoder la gestion des utilisateurs sur la base via ton module de sécu.
Je serais à ta place, je me code une interface d'administration.
Cette interface me permet à chaque fois que j'ajoute un utilisateur :
- de l'ajouter dans ma base 'perso' de gestion des droits.
- d'ajouter son groupe et les droits associés dans la liste des utilisateurs de la BDD si ce groupe n'existe pas déjà (à noter que pour la BDD, ce que nous appelons un groupe correspond pour elle à un utilisateur).
Au niveau de ton programme :
- L'utilisateur se log
- Ton programme se connecte pour interroger ta base des droits perso(avec un compte générique en lecture seule)
- Le programme récupère la liste des droits ainsi que le groupe auquel l'utilisateur appartient. Le groupe servira de login pour la suite des transactions SQL.
- Chargement des restrictions dans ton programme
- Connexion à la base avec l'utilisateur "nom_du_groupe".
Le fait d'avoir une entrée par groupe dans la BDD limite la population des comptes (ce que tu souhaites) mais en revanche tu perds un peu en tracabilité car tu ne sais pas quel utilisateur a fait une connerie dans le log de la base, tu connaitra seulement son groupe.
Tel que j'ai compris ton histoire, tu es parti pour recoder la gestion des utilisateurs de la BDD et analysant le contenu des requêtes SQL.
Message édité par jeoff le 22-02-2006 à 16:46:05