PrincipalPermissionAttribute Класс

Определение

Внимание!

Code Access Security is not supported or honored by the runtime.

Позволяет применять действия PrincipalPermission безопасности к коду с помощью декларативной безопасности. Этот класс не наследуется.

public ref class PrincipalPermissionAttribute sealed : System::Security::Permissions::CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)]
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class PrincipalPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)]
[System.Serializable]
public sealed class PrincipalPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class PrincipalPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)]
public sealed class PrincipalPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)>]
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type PrincipalPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)>]
[<System.Serializable>]
type PrincipalPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type PrincipalPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)>]
type PrincipalPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
Public NotInheritable Class PrincipalPermissionAttribute
Inherits CodeAccessSecurityAttribute
Наследование
Атрибуты

Комментарии

Предостережение

Безопасность доступа к коду (CAS) устарела во всех версиях платформ .NET Framework, и .NET. Последние версии .NET не учитывают заметки CAS и создают ошибки, если используются API, связанные с CAS. Разработчики должны искать альтернативные средства выполнения задач безопасности.

PrincipalPermissionAttribute можно использовать для декларативного запроса, чтобы пользователи, выполняющие код, принадлежали указанной роли или прошли проверку подлинности. Unrestricted Использование создания с PrincipalPermission заданным Authenticated и trueNameRole заданным значением.null

Область объявления, которую разрешено, зависит от используемого SecurityAction . PrincipalPermissionAttribute нельзя применить на уровне сборки.

Сведения о безопасности, объявленные атрибутом безопасности, хранятся в метаданных целевого атрибута и получают доступ к системе во время выполнения. Атрибуты безопасности используются только для декларативной безопасности. Для обеспечения императивной безопасности используйте соответствующий класс разрешений.

Important

Прежде чем использовать этот класс для запроса разрешения субъекта, необходимо задать для текущей политики домена приложения значение WindowsPrincipalперечисления. По умолчанию для основной политики задано UnauthenticatedPrincipalзначение . Если политика субъекта не задана, запрос на разрешение субъекта WindowsPrincipalзавершится ошибкой. Перед требованием разрешения субъекта необходимо выполнить следующий код: AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal).

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

Имя Описание
PrincipalPermissionAttribute(SecurityAction)
Устаревшие.

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

Свойства

Имя Описание
Action
Устаревшие.

Возвращает или задает действие по обеспечению безопасности.

(Унаследовано от SecurityAttribute)
Authenticated
Устаревшие.

Возвращает или задает значение, указывающее, прошел ли текущий субъект проверку подлинности базовым поставщиком безопасности на основе ролей.

Name
Устаревшие.

Возвращает или задает имя удостоверения, связанного с текущим субъектом.

Role
Устаревшие.

Возвращает или задает членство в указанной роли безопасности.

TypeId
Устаревшие.

При реализации в производном классе получает уникальный идентификатор для этого Attribute.

(Унаследовано от Attribute)
Unrestricted
Устаревшие.

Возвращает или задает значение, указывающее, объявлено ли полное (неограниченное) разрешение на ресурс, защищенный атрибутом.

(Унаследовано от SecurityAttribute)

Методы

Имя Описание
CreatePermission()
Устаревшие.

Создает и возвращает новое PrincipalPermission.

Equals(Object)
Устаревшие.

Возвращает значение, указывающее, равен ли этот экземпляр указанному объекту.

(Унаследовано от Attribute)
GetHashCode()
Устаревшие.

Возвращает хэш-код для этого экземпляра.

(Унаследовано от Attribute)
GetType()
Устаревшие.

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
IsDefaultAttribute()
Устаревшие.

При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса.

(Унаследовано от Attribute)
Match(Object)
Устаревшие.

При переопределении в производном классе возвращает значение, указывающее, равен ли этот экземпляр указанному объекту.

(Унаследовано от Attribute)
MemberwiseClone()
Устаревшие.

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()
Устаревшие.

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

Имя Описание
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)
Устаревшие.

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.

(Унаследовано от Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)
Устаревшие.

Извлекает сведения о типе объекта, который можно использовать для получения сведений о типе для интерфейса.

(Унаследовано от Attribute)
_Attribute.GetTypeInfoCount(UInt32)
Устаревшие.

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).

(Унаследовано от Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)
Устаревшие.

Предоставляет доступ к свойствам и методам, предоставляемым объектом.

(Унаследовано от Attribute)

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

См. также раздел