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 :

si un utilisateur peut voir lui même quel type de privilèges il a?


Sujet :

MS SQL Server

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 291
    Points : 126
    Points
    126
    Par défaut si un utilisateur peut voir lui même quel type de privilèges il a?
    Bonjour,
    J’aimerais savoir si un utilisateur peut voir lui même quel type de privilèges il a sur un objet(table,view...) en TSQL

    Par exemple j’ai un utilisateur «Bob« qui veux savoir si il a accès a la table A. (). alors j'imagine qu'il existe
    une procédure du style : Sp_help ???? ‘A’ qui me retournerais une valeur qui signifierait le type de privilège Read sur l’objet que l’utilisateur a, insert,update……
    Merci d’avance de votre aide….
    A+

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Points : 1 216
    Points
    1 216
    Par défaut
    il faudrait préciser la version de SQL Server merci

    sur 2000 vous pouvez essayer pour lister les droits d'un user :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sp_helprotect @username='Bob'
    go
    Sur 2005, la vue sys.database_permissions permet de récupérer ces informations

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 291
    Points : 126
    Points
    126
    Par défaut
    Citation Envoyé par kagemaru Voir le message
    il faudrait préciser la version de SQL Server merci

    sur 2000 vous pouvez essayer pour lister les droits d'un user :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sp_helprotect @username='Bob'
    go
    Sur 2005, la vue sys.database_permissions permet de récupérer ces informations
    C'est sur sql server 2005 mais je travaille avec des groupes dans l'active directory donc je n'ai pas l'utilisateur directement dans la db mais le groupe de Active directory.
    Merci de votre aide ...

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 056
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 056
    Points : 1 216
    Points
    1 216
    Par défaut
    Ce groupe AD est de tt façon mappé à un schema dans la base, donc il faut utiliser la vue : sys.database_permissions, vous pouvez le faire par la fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM fn_my_permissions('mon_groupe_AD', 'USER');

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    291
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 291
    Points : 126
    Points
    126
    Par défaut
    Encore merci voila ce que j'ai fait avec votre aide.


    IF PERMISSIONS()&2=2
    CREATE TABLE test_table (col1 INT)
    ELSE
    PRINT 'ERROR: The current user cannot create a table.'


    IF PERMISSIONS(OBJECT_ID('authors'))&0x80000=0x80000
    PRINT 'INSERT on authors is grantable.'
    ELSE
    PRINT 'You may not GRANT INSERT permissions on authors.'


    SELECT o.SchemaAndName,
    has_perms_by_name(o.SchemaAndName, 'OBJECT', 'EXECUTE')
    FROM (SELECT name, SCHEMA_NAME(schema_id) AS [schema],
    SCHEMA_NAME(schema_id)+'.'+name AS SchemaAndName
    FROM sys.objects
    WHERE type = 'P') AS o


    SELECT dperms.*
    FROM sys.database_permissions dperms
    JOIN sys.database_principals dprins
    ON dperms.grantee_principal_id = dprins.principal_id
    JOIN master.sys.server_principals sprins
    ON dprins.sid = sprins.sid

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 854
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 854
    Points : 52 995
    Points
    52 995
    Billets dans le blog
    6
    Par défaut
    Inutile de poster dans pluiseurs news group.
    Utilisez les vues d'information de schéma, comme décrit dans l'article que j'ai rédigé :
    http://sqlpro.developpez.com/cours/sqlaz/dcl/

    A +

Discussions similaires

  1. L'écran tactile peut-il se suffire à lui-même ?
    Par imikado dans le forum Hardware
    Réponses: 21
    Dernier message: 05/09/2013, 21h36
  2. peut-on faire de la programmation android sous android lui-même ?
    Par clavier12AZQSWX dans le forum Android
    Réponses: 4
    Dernier message: 27/06/2012, 10h48
  3. Document library:chaque utilisateur ne peut voir que ses propres docs
    Par moon18 dans le forum Développement Sharepoint
    Réponses: 5
    Dernier message: 01/12/2011, 18h43
  4. Postfix: l'utilisateur s'envoie un mail à lui même et scan images
    Par dbruyere dans le forum Administration système
    Réponses: 1
    Dernier message: 19/06/2009, 09h04
  5. [POO] Un objet peut-il se détruire lui-même
    Par raoulchatigre dans le forum Langage
    Réponses: 2
    Dernier message: 23/10/2007, 16h58

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