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


SecurityPermissionAttribute Класс

Определение

Внимание

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

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

public ref class SecurityPermissionAttribute sealed : System::Security::Permissions::CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, 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 SecurityPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
public sealed class SecurityPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
[System.Serializable]
public sealed class SecurityPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class SecurityPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, 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 SecurityPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
type SecurityPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
[<System.Serializable>]
type SecurityPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type SecurityPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
Public NotInheritable Class SecurityPermissionAttribute
Inherits CodeAccessSecurityAttribute
Наследование
Атрибуты

Комментарии

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

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

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

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

При использовании SecurityPermissionAttribute класса следуйте действиям безопасности с запрошенными разрешениями. Каждое разрешение безопасности, которое можно запрашивать, как определено в SecurityPermissionFlag перечислении, имеет соответствующее свойство в SecurityPermissionAttribute классе. Например, чтобы требовать возможность доступа к неуправляемого кода, следуйте инструкции спроса с параметром свойства, который запрашивается, как показано ниже. SecurityPermissionAttribute(SecurityAction.Demand, UnmanagedCode=true)

Замечание

Исключением из эквивалентности между SecurityPermissionFlag перечислением и SecurityPermissionAttribute свойствами является то, что AllFlags значение перечисления представлено Unrestricted свойством (наследуется от SecurityAttribute класса). Чтобы требовать все разрешения безопасности, укажите Unrestricted=true.

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

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

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

Свойства

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

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

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

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

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

Возвращает или задает значение, указывающее, имеет ли код разрешение на перенаправление привязки в файле конфигурации приложения.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Возвращает или задает все флаги разрешений, состоящие SecurityPermission из разрешений.

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

Возвращает или задает значение, указывающее, может ли код подключаться к инфраструктуре среды CLR, например добавлять приемники контекста удаленного взаимодействия, приемники Envoy и динамические приемники.

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

Возвращает или задает значение, указывающее, может ли код настраивать типы и каналы удаленного взаимодействия.

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

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

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

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

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

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

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

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

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

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

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

Методы

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

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

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)

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

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