Поделиться через


PrincipalPermission Конструкторы

Определение

Инициализирует новый экземпляр класса PrincipalPermission.

Перегрузки

PrincipalPermission(PermissionState)

Инициализирует новый экземпляр класса PrincipalPermission указанным значением PermissionState.

PrincipalPermission(String, String)

Инициализирует новый экземпляр класса PrincipalPermission для указанных объектов name и role.

PrincipalPermission(String, String, Boolean)

Инициализирует новый экземпляр класса PrincipalPermission для указанных объектов name, role и состояния проверки подлинности.

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. Задайте значение namenull , чтобы проверка для любого пользователя в роли.

Применяется к

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.

Применяется к