PrincipalPermission Конструкторы
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Инициализирует новый экземпляр класса PrincipalPermission.
Перегрузки
PrincipalPermission(PermissionState) |
Инициализирует новый экземпляр класса PrincipalPermission указанным значением PermissionState. |
PrincipalPermission(String, String) |
Инициализирует новый экземпляр класса PrincipalPermission для указанных объектов |
PrincipalPermission(String, String, Boolean) |
Инициализирует новый экземпляр класса PrincipalPermission для указанных объектов |
PrincipalPermission(PermissionState)
- Исходный код:
- PrincipalPermission.cs
- Исходный код:
- PrincipalPermission.cs
- Исходный код:
- PrincipalPermission.cs
- Исходный код:
- 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 является пустой строкой (""), нет Role, Authenticated имеет значение false
).
Unrestricted
соответствует всем субъектам (Name имеет значение null
, Role имеет значение null
).
Примечание
Этот конструктор включен для обеспечения согласованности с структурой других разрешений, но не полезен на практике.
Применяется к
PrincipalPermission(String, String)
- Исходный код:
- PrincipalPermission.cs
- Исходный код:
- PrincipalPermission.cs
- Исходный код:
- PrincipalPermission.cs
- Исходный код:
- PrincipalPermission.cs
Инициализирует новый экземпляр класса PrincipalPermission для указанных объектов name
и 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.
- role
- String
Роль пользователя объекта IPrincipal (например, администратор).
Примеры
В следующем примере требуется, чтобы активный субъект был администратором. Параметр name
имеет значение null
, который позволяет любому пользователю, являющемуся администратором, передать запрос.
Примечание В Windows Vista контроль учетных записей (UAC) определяет привилегии пользователя. Члену встроенной группы "Администраторы" присваивается два маркера доступа на время выполнения: маркер доступа обычного пользователя и маркер доступа администратора. По умолчанию назначена роль обычного пользователя. Чтобы выполнить код, требующий прав администратора, необходимо сначала повысить права от прав стандартного пользователя до прав администратора. Это можно сделать при запуске приложения, , щелкнув значок приложения правой кнопкой мыши и указав, что приложение должно запускаться от имени администратора.
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)
- Исходный код:
- PrincipalPermission.cs
- Исходный код:
- PrincipalPermission.cs
- Исходный код:
- PrincipalPermission.cs
- Исходный код:
- PrincipalPermission.cs
Инициализирует новый экземпляр класса PrincipalPermission для указанных объектов name
, role
и состояния проверки подлинности.
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.