Udostępnij za pośrednictwem


Metoda Table.Deny (ObjectPermissionSet, array<String[], array<String[], Boolean)

Odrzuca określony zestaw uprawnień dla określonego stypendystów i innych użytkowników, do których grantee przyznane określony zestaw uprawnień w określonych kolumnach tabela.

Przestrzeń nazw:  Microsoft.SqlServer.Management.Smo
Zestaw:  Microsoft.SqlServer.Smo (w Microsoft.SqlServer.Smo.dll)

Składnia

'Deklaracja
Public Sub Deny ( _
    permission As ObjectPermissionSet, _
    granteeNames As String(), _
    columnNames As String(), _
    cascade As Boolean _
)
'Użycie
Dim instance As Table
Dim permission As ObjectPermissionSet
Dim granteeNames As String()
Dim columnNames As String()
Dim cascade As Boolean

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

Parametry

  • granteeNames
    Typ: array<System.String[]
    A String wartość tablicy, która określa listę stypendystów, aby odmówić dostępu do zestaw uprawnień.
  • columnNames
    Typ: array<System.String[]
    A String Tablica wartości, która określa listę kolumn, do której zestaw uprawnienia Odmowa.
  • cascade
    Typ: System.Boolean
    A Boolean właściwość, która określa, czy użytkownicy, którym grantee przyznane określony zestaw uprawnień, są również dostępu do określonego zestawu uprawnień do tabela.
    Jeśli True, grantee i użytkowników, do których grantee przyznane określony zestaw uprawnień wszystkich odmowa określonego zestawu uprawnień.
    Jeśli False, tylko grantee odmowa określonego zestaw uprawnień.

Implementacje

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

Przykłady

Poniższy przykład kodu pokazuje jak udzielić uprawnień do Zaznaczanie elementów tabela, a następnie odwołać uprawnienia za pomocą tablicy kont grantee Deny metoda.grantees Konto tablicy jest symbolem zastępczym dla tablicy z kont zdefiniowanych użytkownika.

Następującego schemat bazy danych jest używany dla tej wstawki.

//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, grantees);

String[] tbColNames = new string[tb.Columns.Count];
int n = 0;
foreach (Column i in tb.Columns)
{
   tbColNames[n] = i.Name;
   n++;
}
tb.Deny(objPermissionSet, grantees, 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, grantees)
$tbColNames = @()
foreach ($c in $tb.Columns)
{
   $tbColNames = $tbColNames + $c.Name
}
$tb.Deny($objPermissionSet, grantees, $tbColNames, $TRUE)