PrincipalPermission 构造函数

定义

初始化 PrincipalPermission 类的新实例。

重载

PrincipalPermission(PermissionState)

使用指定的 PrincipalPermission 初始化 PermissionState 类的新实例。

PrincipalPermission(String, String)

为指定的 namerole 初始化 PrincipalPermission 类的新实例。

PrincipalPermission(String, String, Boolean)

为指定的 namerole 和身份验证状态初始化 PrincipalPermission 类的新实例。

PrincipalPermission(PermissionState)

Source:
PrincipalPermission.cs
Source:
PrincipalPermission.cs
Source:
PrincipalPermission.cs
Source:
PrincipalPermission.cs

使用指定的 PrincipalPermission 初始化 PermissionState 类的新实例。

public:
 PrincipalPermission(System::Security::Permissions::PermissionState state);
public PrincipalPermission (System.Security.Permissions.PermissionState state);
new System.Security.Permissions.PrincipalPermission : System.Security.Permissions.PermissionState -> System.Security.Permissions.PrincipalPermission
Public Sub New (state As PermissionState)

参数

state
PermissionState

PermissionState 值之一。

例外

state 参数不是有效的 PermissionState

注解

None 仅匹配未经身份验证的主体, (Name 是空字符串 (“”) ,没有 RoleAuthenticated) falseUnrestricted 匹配所有主体, (NamenullRole) null

注意

包含此构造函数是为了与其他权限的设计保持一致,但在实践中没有用。

适用于

PrincipalPermission(String, String)

Source:
PrincipalPermission.cs
Source:
PrincipalPermission.cs
Source:
PrincipalPermission.cs
Source:
PrincipalPermission.cs

为指定的 namerole 初始化 PrincipalPermission 类的新实例。

public:
 PrincipalPermission(System::String ^ name, System::String ^ role);
public PrincipalPermission (string name, string role);
new System.Security.Permissions.PrincipalPermission : string * string -> System.Security.Permissions.PrincipalPermission
Public Sub New (name As String, role As String)

参数

name
String

IPrincipal 对象的用户的名称。

role
String

IPrincipal 对象的用户的角色(例如,管理员)。

示例

以下示例要求活动主体是管理员。 参数 namenull,它使作为管理员的任何用户都能够传递需求。

注意 在 Windows Vista 中,用户帐户控制 (UAC) 确定用户的权限。 如果您是内置的 Administrators 组的成员,将为您分配两个运行时访问令牌:一个标准用户访问令牌和一个管理员访问令牌。 默认情况下,您拥有标准用户角色。 要执行需要管理员身份的代码,必须首先将你的特权从标准用户提升至管理员。 你可以通过以下方式执行此操作:右键单击应用程序图标并指示需以管理员身份运行。

using namespace System;
using namespace System::Security;
using namespace System::Security::Permissions;
using namespace System::Security::Policy;
using namespace System::Security::Principal;

int main(array<System::String ^> ^args)
{
    System::String^ null;
    AppDomain::CurrentDomain->SetPrincipalPolicy(PrincipalPolicy::WindowsPrincipal);
    PrincipalPermission^ principalPerm = gcnew PrincipalPermission(null, "Administrators" );
      principalPerm->Demand();
      Console::WriteLine("Demand succeeded");
    return 0;
}
using System;
using System.Threading;
using System.Security.Permissions;
using System.Security.Principal;

class SecurityPrincipalDemo
{

    public static void Main()
    {
        AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
        PrincipalPermission principalPerm = new PrincipalPermission(null, "Administrators");
        principalPerm.Demand();
        Console.WriteLine("Demand succeeded.");
    }
}
Imports System.Threading
Imports System.Security.Permissions
Imports System.Security.Principal



Class SecurityPrincipalDemo


    Public Shared Sub Main()
        AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal)
        Dim principalPerm As New PrincipalPermission(Nothing, "Administrators")
        principalPerm.Demand()
        Console.WriteLine("Demand succeeded.")

    End Sub
End Class

注解

name参数和 role 参数必须匹配,此权限才能匹配活动IPrincipal和关联的 IIdentitynull设置为 name ,为角色中的任何用户检查。

适用于

PrincipalPermission(String, String, Boolean)

Source:
PrincipalPermission.cs
Source:
PrincipalPermission.cs
Source:
PrincipalPermission.cs
Source:
PrincipalPermission.cs

为指定的 namerole 和身份验证状态初始化 PrincipalPermission 类的新实例。

public:
 PrincipalPermission(System::String ^ name, System::String ^ role, bool isAuthenticated);
public PrincipalPermission (string name, string role, bool isAuthenticated);
new System.Security.Permissions.PrincipalPermission : string * string * bool -> System.Security.Permissions.PrincipalPermission
Public Sub New (name As String, role As String, isAuthenticated As Boolean)

参数

name
String

IPrincipal 对象的用户的名称。

role
String

IPrincipal 对象的用户的角色(例如,管理员)。

isAuthenticated
Boolean

true 表示用户已经过身份验证;否则为 false

注解

name参数和 role 参数必须匹配,此权限才能匹配活动IPrincipal和关联的 IIdentity

适用于