Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
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 19/06/2007, 18h15   #1
Membre éclairé
 
Avatar de icer
 
Inscription : janvier 2006
Messages : 332
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 332
Points : 308
Points : 308
Par défaut Définier le search_path en fonction du role

Bonjour,

Je cherche une solution pour pouvoir définir le search_path en fonction du role de l'utilisateur de façons dynamique.

Par exemple si mon utilisateur "jean" est un "rédacteur":

Code :
GRANT redacteur TO jean;
Je voudrais que lorsque qu'il se connecte son search_path soit 'redacteur' au lieu de '$user,public'.

J'ai une fonction qui me permet d'obtenir tout les roles d'un utilisateur.

Mais je ne sais pas comment faire pour changer le search_path de façons automatique.

Si vous avez des idées je suis preneur.
icer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/06/2007, 22h38   #2
Membre éclairé
 
Inscription : janvier 2005
Messages : 336
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : janvier 2005
Messages : 336
Points : 353
Points : 353
Bonsoir

pour cela il vous suffit de faire un

Code :
SET search_path TO 'redacteur';
à exécuter comme un INSERT ou un UPDATE dans la base
__________________
Christophe Chauvet (KrysKool)
kryskool est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/06/2007, 10h29   #3
Membre éclairé
 
Avatar de icer
 
Inscription : janvier 2006
Messages : 332
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 332
Points : 308
Points : 308
c'est ça !

Mais comment le faire de façons automatique dés que l'utilisateur se connecte à la base de données.

J'ai essayer de le faire dans une fonction. Mais il y a une erreur de syntax qui se déclenche à la ligne suivante :
Code :
1
2
 
SET search_path TO (SELECT rolname FROM user_role);
icer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2007, 16h06   #4
Modérateur
 
Avatar de Obsidian
 
Homme
Chercheur d'emploi
Inscription : septembre 2007
Messages : 3 718
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 36
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Chercheur d'emploi
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2007
Messages : 3 718
Points : 7 290
Points : 7 290
Par défaut Variables DE l'UTILISATEUR !

Toutes les bases et les tous les utilisateurs disposent d'une copie propre des différentes variables du serveur PG. Initialement, ces variables propres sont indéfinies. Quand elles le sont, elles prennent le pas sur les valeurs par défaut.

ALTER USER redacteur SET search_path = 'redacteur';

Voila.
Obsidian est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2007, 18h47   #5
Membre éclairé
 
Avatar de icer
 
Inscription : janvier 2006
Messages : 332
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 332
Points : 308
Points : 308
Merci beaucoup Obsidian,
c'est exactement ce que j'avais besoin.
icer 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 22h22.


 
 
 
 
Partenaires

Hébergement Web