C'est souvent contraignant et fastidieux qu'un user d'une application corresponde à un user base de données (enfin cela reste mon avis)
C'est plus simple si chaque utilisateur de l'appli se connecte à la base avec le même compte base de données, qui lui peut avoir les droits de modifications dans les tables profil, ... etc
Exemple :
- 1 user bdd APPLI = schéma qui contient toutes les tables de ton appli (profil, etc ...)
- 1 user bdd UTILISATEUR à qui tu donnes une bonne fois pour toutes les droits de lecture et/ou de modification dans les tables que tu souhaites, par exemple :
grant select,insert,update,delete on APPLI.profil TO UTILISATEUR;
C'est sans doute mieux que la gestion des droits se fasse côté application, par exemple une table qui contient pour chaque utilisateur un flag 0 ou 1 selon qu'il peut modifier son profil
Car si tu gérais les droits de ton appli comme les droits oracle avec un user oracle par utilisateur réel, en gros l'utilisateur pourrait exécuter des requêtes comme "update profil ..." mais sans savoir s'il a bien les droits de modifier la table, tu serais donc obligé de récupérer éventuellement les messages d'erreur renvoyés par oracle, etc ... ce qui devient vite très contraignant
Partager