Partager via


Méthode Deny (ObjectPermissionSet, String, String[], Boolean)

Refuse le jeu d'autorisations spécifié au bénéficiaire spécifié et aux autres utilisateurs auxquels le bénéficiaire a accordé le jeu d'autorisations spécifié sur les colonnes spécifiées sur la table.

Espace de noms :  Microsoft.SqlServer.Management.Smo
Assembly :  Microsoft.SqlServer.Smo (en Microsoft.SqlServer.Smo.dll)

Syntaxe

'Déclaration
Public Sub Deny ( _
    permission As ObjectPermissionSet, _
    granteeName As String, _
    columnNames As String(), _
    cascade As Boolean _
)
'Utilisation
Dim instance As Table
Dim permission As ObjectPermissionSet
Dim granteeName As String
Dim columnNames As String()
Dim cascade As Boolean

instance.Deny(permission, granteeName, _
    columnNames, cascade)
public void Deny(
    ObjectPermissionSet permission,
    string granteeName,
    string[] columnNames,
    bool cascade
)
public:
virtual void Deny(
    ObjectPermissionSet^ permission, 
    String^ granteeName, 
    array<String^>^ columnNames, 
    bool cascade
) sealed
abstract Deny : 
        permission:ObjectPermissionSet * 
        granteeName:string * 
        columnNames:string[] * 
        cascade:bool -> unit 
override Deny : 
        permission:ObjectPermissionSet * 
        granteeName:string * 
        columnNames:string[] * 
        cascade:bool -> unit 
public final function Deny(
    permission : ObjectPermissionSet, 
    granteeName : String, 
    columnNames : String[], 
    cascade : boolean
)

Paramètres

  • columnNames
    Type : array<System. . :: . .String> [] () [] []
    Valeur de tableau String qui spécifie la liste des colonnes pour lesquelles le jeu d'autorisations est refusé.
  • cascade
    Type : System. . :: . .Boolean
    Propriété Boolean qui spécifie si l'accès au jeu d'autorisations spécifié sur la table est également refusé aux utilisateurs auxquels le bénéficiaire a accordé le jeu d'autorisations.
    Si la valeur est True, le jeu d'autorisations spécifié est refusé au bénéficiaire et à tous les utilisateurs auxquels le bénéficiaire a accordé le jeu d'autorisations.
    Si la valeur est False, le jeu d'autorisations spécifié est refusé uniquement au bénéficiaire.

Implémente

IColumnPermission. . :: . .Deny(ObjectPermissionSet, String, array<String> [] () [] [], Boolean)

Exemples

The following code example shows how to grant an array of grantee accounts permission to select table elements, and then revoke the permission by using the Deny method. The grantee account is a placeholder for any defined user account.

The following database schema is used for this snippet.

//CREATE DATABASE MYTESTDB;
//GO

//USE MYTESTDB;
//GO

//CREATE TABLE TABLE1(
//    id int,
//    name varchar(32)
//);
//GO

C#

Server srv = new Server("(local)");
Database db = srv.Databases["MYTESTDB"];

Table tb = db.Tables[0];

ObjectPermissionSet objPermissionSet = new ObjectPermissionSet(ObjectPermission.Select);
objPermissionSet.Select = true;
tb.Grant(objPermissionSet, grantee);

String[] tbColNames = new string[tb.Columns.Count];
int n = 0;
foreach (Column i in tb.Columns)
{
   tbColNames[n] = i.Name;
   n++;
}
tb.Deny(objPermissionSet, grantee, tbColNames, true);

Powershell

$srv = new-Object Microsoft.SqlServer.Management.Smo.Server("(local)")
$db = New-Object Microsoft.SqlServer.Management.Smo.Database
$db = $srv.Databases.Item("MYTESTDB")
$tb = $db.Tables[0]

$objPermissionSet = new-object Microsoft.SqlServer.Management.Smo.ObjectPermissionSet([Microsoft.SqlServer.Management.Smo.ObjectPermission]::Select)
$objPermissionSet.Select = $TRUE
$tb.Grant($objPermissionSet, grantee)
$tbColNames = @()
foreach ($c in $tb.Columns)
{
   $tbColNames = $tbColNames + $c.Name
}
$tb.Deny($objPermissionSet, grantee, $tbColNames, $TRUE)