PrincipalPermission 构造函数
定义
初始化 PrincipalPermission 类的新实例。Initializes a new instance of the PrincipalPermission class.
重载
| PrincipalPermission(PermissionState) |
使用指定的 PrincipalPermission 初始化 PermissionState 类的新实例。Initializes a new instance of the PrincipalPermission class with the specified PermissionState. |
| PrincipalPermission(String, String) |
为指定的 |
| PrincipalPermission(String, String, Boolean) |
为指定的 |
PrincipalPermission(PermissionState)
使用指定的 PrincipalPermission 初始化 PermissionState 类的新实例。Initializes a new instance of the PrincipalPermission class with the specified 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 值之一。One of the PermissionState values.
例外
state 参数不是有效的 PermissionState。The state parameter is not a valid PermissionState.
注解
None 仅匹配未经身份验证的主体 (Name 为空字符串 ( "" ) , Role 不 Authenticated false) 。None matches only the unauthenticated principal (Name is the empty string (""), no Role, Authenticated is false). Unrestricted 匹配 (为) 的所有主体 Name null Role null 。Unrestricted matches all principals (Name is null, Role is null).
备注
包含此构造函数是为了与其他权限的设计保持一致,但在实践中并不有用。This constructor is included for consistency with the design of other permissions, but is not useful in practice.
适用于
PrincipalPermission(String, String)
为指定的 name 和 role 初始化 PrincipalPermission 类的新实例。Initializes a new instance of the PrincipalPermission class for the specified name and role.
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 对象的用户的名称。The name of the IPrincipal object's user.
- role
- String
IPrincipal 对象的用户的角色(例如,管理员)。The role of the IPrincipal object's user (for example, Administrator).
示例
下面的示例要求活动主体是管理员。The following example requires the active principal to be an administrator. name参数为 null ,它允许任何管理员用户通过该需求。The name parameter is null, which enables any user who is an administrator to pass the demand.
注意 在 Windows Vista 中,用户帐户控制 (UAC) 确定用户的权限。Note In Windows Vista, User Account Control (UAC) determines the privileges of a user. 如果您是内置的 Administrators 组的成员,将为您分配两个运行时访问令牌:一个标准用户访问令牌和一个管理员访问令牌。If you are a member of the Built-in Administrators group, you are assigned two run-time access tokens: a standard user access token and an administrator access token. 默认情况下,您拥有标准用户角色。By default, you are in the standard user role. 要执行需要管理员身份的代码,必须首先将你的特权从标准用户提升至管理员。To execute the code that requires you to be an administrator, you must first elevate your privileges from standard user to administrator. 你可以通过以下方式执行此操作:右键单击应用程序图标并指示需以管理员身份运行。You can do this when you start an application by right-clicking the application icon and indicating that you want to run as an administrator.
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 。Both the name parameter and the role parameter must match for this permission to match the active IPrincipal and associated IIdentity. 设置 name 为 null 以检查角色中的任何用户。Set name to null to check for any user in a role.
适用于
PrincipalPermission(String, String, Boolean)
为指定的 name、role 和身份验证状态初始化 PrincipalPermission 类的新实例。Initializes a new instance of the PrincipalPermission class for the specified name, role, and authentication status.
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 对象的用户的名称。The name of the IPrincipal object's user.
- role
- String
IPrincipal 对象的用户的角色(例如,管理员)。The role of the IPrincipal object's user (for example, Administrator).
- isAuthenticated
- Boolean
true 表示用户已经过身份验证;否则为 false。true to signify that the user is authenticated; otherwise, false.
注解
name role 此权限必须与参数和参数匹配,才能匹配活动的 IPrincipal 和关联的 IIdentity 。Both the name parameter and the role parameter must match for this permission to match the active IPrincipal and associated IIdentity.