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

MS SQL Server Discussion :

Purger les droits d'un utilisateur


Sujet :

MS SQL Server

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2003
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 43
    Points : 33
    Points
    33
    Par défaut Purger les droits d'un utilisateur
    Bonjour, je désire purger tous les droits que possède un utilisateur.
    A savoir une sorte de REVOKE ALL ON ALL_TABLES TO THISUSER.
    Est ce que c'est possible ?

    Sinon pourquoi quand je décide de le faire en procédure stocké en passant le login en paramètre, cela ne marche pas ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    CREATE PROCEDURE [dbo].[REVOKE_ALL_RIGHTS]
    (
    	@Login varchar(100)
    )
    AS
    BEGIN	
       REVOKE ALL ON MaTable TO @Login
       REVOKE ALL ON MaTable2 TO @Login
       REVOKE ALL ON MaTable3 TO @Login
    ...
    END
    GO
    'Incorrect Syntax near @Login me dit-il ...'

  2. #2
    Membre averti
    Inscrit en
    Août 2002
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 354
    Points : 398
    Points
    398
    Par défaut
    Slt,

    L'ordre REVOKE ne prend pas de parametre, il faut que tu fasse un exec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    CREATE PROCEDURE [dbo].[REVOKE_ALL_RIGHTS] 
    ( 
       @Login varchar(100) 
    ) 
    AS 
    BEGIN    
       EXEC ('REVOKE ALL ON MaTable TO ' + @Login) 
       ... 
    END 
    GO
    tu peux aussi faire un curseur sur la table sysobjects pour recuperer la liste des tables de ta base (type = 'U' pour les objets users et non systeme)

    a+
    One ring to rule them all,
    One ring to find them,
    One ring to bring them all
    And in the darkness bind them.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Novembre 2003
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 43
    Points : 33
    Points
    33
    Par défaut
    Salut,

    Merci de ta réponse, en fait, j'ai fait un truc un peu dégueu mais ca marche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    CREATE PROCEDURE [dbo].[PURGE_USER_RIGHTS]
    (
    	@Login varchar(100)
    )
    AS
    BEGIN	
    	EXEC sp_dropuser @Login 
    	EXEC sp_adduser @Login, @Login 
    END
    GO

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

Discussions similaires

  1. [Lenny] Changer les droits d'un utilisateur
    Par lucarno dans le forum Debian
    Réponses: 1
    Dernier message: 22/04/2009, 16h32
  2. Requête qui récupère les droits d'un utilisateur
    Par peck dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 20/04/2006, 09h40
  3. Connaitres les droits de l'utilisateur
    Par CrazySeb dans le forum Langage
    Réponses: 2
    Dernier message: 16/04/2006, 00h12
  4. [sécurité] les droits d'un utilisateur
    Par Maglight dans le forum Oracle
    Réponses: 1
    Dernier message: 26/12/2005, 10h24
  5. [XP Pro] Restreindre les droits d'un utilisateur
    Par Cereal123 dans le forum Sécurité
    Réponses: 5
    Dernier message: 12/10/2005, 14h57

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