Précédent   Forum des professionnels en informatique > Bases de données > Firebird > SQL
SQL Forum d'entraide sur le SQL pour Firebird
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 21/07/2006, 18h01   #1
Modérateur
 
Avatar de Cl@udius
 
Homme Claude Renouleaud
Développeur informatique
Inscription : février 2006
Messages : 4 754
Détails du profil
Informations personnelles :
Nom : Homme Claude Renouleaud
Âge : 49
Localisation : France, Hautes Pyrénées (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 4 754
Points : 6 772
Points : 6 772
Par défaut [FB1.5] Droits utilisateurs

Bonjour à tous.

J'ai un petit soucis avec les droits donnés aux utilisateurs.
J'ai un utilisateur LAMBDA qui dispose sur la table CATALOGUE des droits de modification sur le champ PRIX et uniquement ce champ.
Code :
1
2
 
GRANT UPDATE(PRIX) ON CATALOGUE TO LAMBDA;
il existe un trigger sur cette table défini comme suit:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
CREATE TRIGGER CATALOGUE_AU0 FOR CATALOGUE
ACTIVE AFTER UPDATE POSITION 0
AS
  declare variable V_NEW_COMPO_ID varchar(15);
  declare variable V_OLD_COMPO_ID varchar(15);
begin
  /* Si modele_id modifié */
  IF (new.MODELE_ID <> old.MODELE_ID) then
  begin
    /* Mettre à jour le compo_id */
    V_NEW_COMPO_ID = new.MODELE_ID || new.COULEUR_ID || new.GROUPE_PRIX;
    V_OLD_COMPO_ID = old.MODELE_ID || old.COULEUR_ID || old.GROUPE_PRIX;
    UPDATE COMPOSITION
    SET COMPO_ID = :V_NEW_COMPO_ID
    WHERE COMPO_ID = :V_OLD_COMPO_ID;
  end
end
Voilà le serveur m'interdit la modification du champ PRIX en précisant que le user n'a pas les droits nécessaires sur la table COMPOSITION.

En théorie ce trigger ne va agir sur la table COMPOSITION uniquement si le champ MODELE_ID a été modifié. Donc j'ai vraiment du mal à saisir.

C'est bien ce trigger qui est en cause, car si je le rend inactif le user peut effectué la modification.

Bref si quelqu'un vois le pourquoi du comment ?? Merci d'avance.
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira.
Cl@udius est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 08h52   #2
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
certes mais quels droits à ton utilisateur et éventuellement ton trigger sur COMPOSITION ?
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 09h46   #3
Modérateur
 
Avatar de Cl@udius
 
Homme Claude Renouleaud
Développeur informatique
Inscription : février 2006
Messages : 4 754
Détails du profil
Informations personnelles :
Nom : Homme Claude Renouleaud
Âge : 49
Localisation : France, Hautes Pyrénées (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 4 754
Points : 6 772
Points : 6 772
Salut Philippe,

Merci de t'interésser à mon problème !

Citation:
certes mais quels droits à ton utilisateur et éventuellement ton trigger sur COMPOSITION ?
Mon utilisateur LAMDA n'a aucun droit (hors select) sur la table COMPOSITION. Quant aux droits du trigger, alors là si tu pouvais être plus explicite ça me rendrait service. En fait c'est mon premier sérieux projet sur FB, et je découvre toutes ses fonctionnalités au fur et à mesure.

@+ Claudius
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira.
Cl@udius est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 10h45   #4
Expert Confirmé

 
Homme Philippe Makowski
Consultant spécialité Firebird
Inscription : mai 2002
Messages : 2 215
Détails du profil
Informations personnelles :
Nom : Homme Philippe Makowski
Âge : 49
Localisation : France

Informations professionnelles :
Activité : Consultant spécialité Firebird
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 2 215
Points : 3 318
Points : 3 318
c'est donc là ton problème
il faut que ton utilisateur ait les droitsde modif sur COMPOSITION, c'est logique
ou alors ton trigger
Code :
GRANT UPDATE ON COMPOSITION TO TRIGGER CATALOGUE_AU0;
__________________
Philippe Makowski
IBPhoenix - Firebird
Membre de l'April
makowski est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/07/2006, 11h38   #5
Modérateur
 
Avatar de Cl@udius
 
Homme Claude Renouleaud
Développeur informatique
Inscription : février 2006
Messages : 4 754
Détails du profil
Informations personnelles :
Nom : Homme Claude Renouleaud
Âge : 49
Localisation : France, Hautes Pyrénées (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 4 754
Points : 6 772
Points : 6 772
Citation:
Envoyé par makowski
c'est donc là ton problème
il faut que ton utilisateur ait les droitsde modif sur COMPOSITION, c'est logique
ou alors ton trigger
A ben oui, c'est logique !! J'aurais du y penser
Merci pour l'info.

@+ Claudius
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira.
Cl@udius est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h30.


 
 
 
 
Partenaires

Hébergement Web