Udostępnij za pośrednictwem


Metoda Table.Deny (ObjectPermissionSet, String, Boolean)

Odrzuca określony zestaw uprawnień dla określonego grantee i innych użytkowników, do których grantee przyznane określony zestaw uprawnień w 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, _
    granteeName As String, _
    cascade As Boolean _
)
'Użycie
Dim instance As Table
Dim permission As ObjectPermissionSet
Dim granteeName As String
Dim cascade As Boolean

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

Parametry

  • granteeName
    Typ: System.String
    A String wartość określająca grantee niedozwolone określony zestaw uprawnień do tabela.
  • 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

IObjectPermission.Deny(ObjectPermissionSet, String, Boolean)

Przykłady

Poniższy przykład kodu pokazuje jak udzielić uprawnienia do Zaznaczanie elementów tabela, a następnie odwołać uprawnienia przy użyciu konta Gość Deny metoda.Konto grantee jest symbolem zastępczym dla dowolnego konta użytkownika zdefiniowane.

Następującego schematu 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, grantee);
tb.Deny(objPermissionSet, grantee, 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)
$tb.Deny($objPermissionSet, grantee, $TRUE)