PrincipalPermissionAttribute Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Позволяет применять действия PrincipalPermission безопасности к коду с помощью декларативной безопасности. Этот класс не наследуется.
public ref class PrincipalPermissionAttribute sealed : 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)>]
[<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
Public NotInheritable Class PrincipalPermissionAttribute
Inherits CodeAccessSecurityAttribute
- Наследование
- Атрибуты
Комментарии
Предостережение
Безопасность доступа к коду (CAS) устарела во всех версиях платформ .NET Framework, и .NET. Последние версии .NET не учитывают заметки CAS и создают ошибки, если используются API, связанные с CAS. Разработчики должны искать альтернативные средства выполнения задач безопасности.
PrincipalPermissionAttribute можно использовать для декларативного запроса, чтобы пользователи, выполняющие код, принадлежали указанной роли или прошли проверку подлинности.
Unrestricted Использование создания с Authenticated заданным PrincipalPermission и RoletrueName заданным значением.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) |