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

Développement SQL Server Discussion :

Droits et Triggers


Sujet :

Développement SQL Server

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Juin 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Droits et Triggers
    Bonjour,

    Je travaille actuellement a la création d'une table utilisateurs. Celle ci fonctionne bien. Sur cette table je donne des droits d'INSERT via l'instruction GRANT.
    Ce qui permet à un "visiteur" de rentrer son pseudo et mot de passe dans ma table "utilisateurs"

    Mon objectif est de retirer ces droits d'INSERT sur ma table une fois que le "visiteur" a insérer sont pseudo et mot de passe.

    Pour cela j'utilise un trigger comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE TRIGGER verif_user
    ON Utilisateurs WITH ENCRYPTION
    AFTER INSERT
    AS IF UPDATE(Pseudo) AND UPDATE(mdp)
    REVOKE INSERT ON Utilisateurs TO VisiteurAnnonces
    GO
    Le problème de ma commande est ke l'instruction REVOKE est prise en compte et détruit l'instruction GRANT INSERT.
    Je veux dire par la que je pense que mon trigger annule les droits sans valider l'entrée dans la table.

    Donc comment faire pour enlever des droits sur une table juste apres que des données y soient insérés par un utilisateur ?

    Merci d'avance

  2. #2
    Membre actif
    Inscrit en
    Février 2009
    Messages
    224
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 224
    Points : 269
    Points
    269
    Par défaut
    J'avoue avoir des difficultés à comprendre l'intéret ce cette opération car en retirant le privilège à votre utilisateur SQL Server VisiteurAnnonces il ne pourra plus ajouter de nouvelles informations dans cette table utilisateurs. Comment vont faire les utilisateurs suivant?
    Toutefois le trigger fait partie de l'instruction INSERT. Je vous conseil donc de passer par un trigger instead of

  3. #3
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Je suis entièrement d'accord avec Jero44, vous confondez les droits de votre application avec les droits en base de données.

    Vous pourriez par exemple créer votre table d'utilisateurs en leur attribuant des droits (rien à voir donc avec des octrois de base de données), et exécuter dans les procédures stockées de modification de cette même table celle de vérification des droits qui lèverait une exception suivant l'utilisateur qui souhaite modifier cette table ...

    @++

Discussions similaires

  1. Trigger et droit super
    Par nathieb dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 19/05/2009, 09h53
  2. MySql, accorder droit pour créer des triggers
    Par arnaudco dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 04/02/2008, 21h23
  3. Droit utilisateur/ALTER TRIGGER MonTrigger INACTIVE
    Par vedge2000 dans le forum Firebird
    Réponses: 9
    Dernier message: 19/11/2007, 16h00
  4. Trigger et droits sur schémas.
    Par macben dans le forum Oracle
    Réponses: 1
    Dernier message: 11/07/2007, 20h52
  5. Réponses: 1
    Dernier message: 15/05/2007, 12h01

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