Deny 方法 (ObjectPermissionSet, String, Boolean)

对指定的被授权者以及该被授权者向其授予针对表的指定权限集的其他用户,拒绝指定的权限集。

命名空间:  Microsoft.SqlServer.Management.Smo
程序集:  Microsoft.SqlServer.Smo(在 Microsoft.SqlServer.Smo.dll 中)

语法

声明
Public Sub Deny ( _
    permission As ObjectPermissionSet, _
    granteeName As String, _
    cascade As Boolean _
)
用法
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
)

参数

  • cascade
    类型:System. . :: . .Boolean
    一个 Boolean 属性,该属性指定是否也对被授权者向其授予指定权限集的用户拒绝针对表的指定权限集的访问权限。
    如果为 True,则同时对被授权者以及该被授权者向其授予指定权限集的用户拒绝指定的权限集。
    如果为 False,则仅对被授权者拒绝指定的权限集。

实现

IObjectPermission. . :: . .Deny(ObjectPermissionSet, String, Boolean)

示例

The following code example shows how to grant guest accounts permission to select table elements, and then revoke the permission by using the Deny method. The account grantee 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);
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)