PrincipalPermission 构造函数
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
初始化 PrincipalPermission 类的新实例。
重载
PrincipalPermission(PermissionState) |
使用指定的 PrincipalPermission 初始化 PermissionState 类的新实例。 |
PrincipalPermission(String, String) |
为指定的 |
PrincipalPermission(String, String, Boolean) |
为指定的 |
PrincipalPermission(PermissionState)
使用指定的 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 为空字符串 ( "" ) , Role 不 Authenticated false
) 。 Unrestricted
匹配 (为) 的所有主体 Name null
Role null
。
备注
包含此构造函数是为了与其他权限的设计保持一致,但在实践中并不有用。
适用于
PrincipalPermission(String, String)
为指定的 name
和 role
初始化 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 对象的用户的角色(例如,管理员)。
示例
下面的示例要求活动主体是管理员。 name
参数为 null
,它允许任何管理员用户通过该需求。
注意 在 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 和关联的 IIdentity 。 设置 name
为 null
以检查角色中的任何用户。
适用于
PrincipalPermission(String, String, Boolean)
为指定的 name
、role
和身份验证状态初始化 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 。