IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Firebird Discussion :

grant sur trigger


Sujet :

SQL Firebird

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    839
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 839
    Points : 262
    Points
    262
    Par défaut grant sur trigger
    bonjour,

    Lorsque l'on "grant" un trigger sur une table comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    GRANT INSERT ON IBE$LOG_FIELDS TO TRIGGER IBE$CMDCLI_AD;
    Est ce que cela revient à dire implicitement qu'un utilisateur qui a les droits sur la table qui appelle le trigger (CMDCLI) a les droits sur la table IBE$LOG_FIELDS

    pour info le trigger est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    CREATE TRIGGER IBE$CMDCLI_AD FOR CMDCLI
    ACTIVE AFTER DELETE POSITION 32767
    as
    declare variable tid integer;
    begin
      tid = gen_id(ibe$log_tables_gen,1);
     
      insert into ibe$log_tables (id, table_name, operation, date_time, user_name)
             values (:tid, 'CMDCLI', 'D', 'NOW', user);
     
      insert into ibe$log_keys (log_tables_id, key_field, key_value)
             values (:tid, 'CF', old.cf);
     
      insert into ibe$log_fields (log_tables_id, field_name, old_value, new_value)
             values (:tid, 'CF', old.cf, null);
     
      insert into ibe$log_fields (log_tables_id, field_name, old_value, new_value)
             values (:tid, 'LIB', old.lib, null);
     
     
    end

    cordialement

  2. #2
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Non, cela ne donne pas plus de droit à l'utilisateur qu'il n'en avait avant le grant du trigger.

    En d'autre terme si l'utilisateur a les droits de suppression sur CMDCLI mais n'a aucun droit sur la table IBE$LOG_FIELDS, celui ci ne pourra pas faire d'insert, update, delete ni même consulter la table IBE$LOG_FIELDS.

    Sans grant explicite sur le trigger IBE$CMDCLI_AD, votre utilisateur ne pourra pas effacer des éléments de CMDCLI. En effet le trigger hérite des droits de l'utilisateur. Et donc l'insert dans la table IBE$LOG_FIELDS lancé dans le trigger lèvera une exception indiquant que l'utilisateur n'a pas le droit d'insérer dans la table IBE$LOG_FIELDS.

    Par contre si vous donnez les droits d'insertion à votre trigger IBE$CMDCLI_AD. L'utilisateur pourra effacer des éléments de CMDCLI, le trigger IBE$CMDCLI_AD ayant les droits d'insertion, pourra ajouter les données dans la table IBE$LOG_FIELDS. Mais l'utilisateur ne pourra pas pour autant accéder ou insérer directement à la table IBE$LOG_FIELDS. Les droits de l'utilisateur n'ont pas changé.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Grant sur une séquence...
    Par jesus144 dans le forum Oracle
    Réponses: 4
    Dernier message: 16/01/2006, 10h28
  2. PL/SQL problème sur Trigger
    Par kitsune dans le forum PL/SQL
    Réponses: 4
    Dernier message: 06/12/2005, 20h35
  3. besoin d'aide sur trigger
    Par devalender dans le forum SQL
    Réponses: 2
    Dernier message: 18/07/2004, 22h28
  4. question general sur triggers (liaison avec VB)
    Par DaxTaz dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/07/2004, 15h57
  5. grant sur un schéma ou und bd
    Par Bouboubou dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 28/02/2004, 13h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo