StrongNameIdentityPermission Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Внимание!
Code Access Security is not supported or honored by the runtime.
Определяет разрешение удостоверения для надежных имен. Этот класс не наследуется.
public ref class StrongNameIdentityPermission sealed : System::Security::CodeAccessPermission
[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 StrongNameIdentityPermission : System.Security.CodeAccessPermission
[System.Serializable]
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type StrongNameIdentityPermission = class
inherit CodeAccessPermission
[<System.Serializable>]
type StrongNameIdentityPermission = class
inherit CodeAccessPermission
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type StrongNameIdentityPermission = class
inherit CodeAccessPermission
type StrongNameIdentityPermission = class
inherit CodeAccessPermission
Public NotInheritable Class StrongNameIdentityPermission
Inherits CodeAccessPermission
- Наследование
- Атрибуты
Комментарии
Предостережение
Безопасность доступа к коду (CAS) устарела во всех версиях платформ .NET Framework, и .NET. Последние версии .NET не учитывают заметки CAS и создают ошибки, если используются API, связанные с CAS. Разработчики должны искать альтернативные средства выполнения задач безопасности.
Important
Начиная с .NET Framework 4 разрешения удостоверения не используются.
В .NET Framework версии 1.0 и 1.1 разрешения удостоверения не могут иметь значение состояния разрешения Unrestricted. В .NET Framework версии 2.0 и более поздних версиях разрешения удостоверения могут иметь любое значение состояния разрешений. Это означает, что в версиях 2.0 и более поздних версиях разрешения удостоверения имеют то же поведение, что и разрешения, реализующие IUnrestrictedPermission интерфейс. То есть запрос на удостоверение всегда выполняется успешно, независимо от удостоверения сборки, если сборка была предоставлена полная доверие.
Используется StrongNameIdentityPermission для подтверждения того, что вызывающий код находится в определенной сборке кода с строгим именем. Полные требования к StrongNameIdentityPermission успеху только в том случае, если все сборки в стеке имеют правильные доказательства для удовлетворения спроса. Запросы связи, использующие атрибут, успешно выполнены только в том случае, StrongNameIdentityPermissionAttribute если непосредственный вызывающий объект имеет правильные доказательства.
Удостоверение строгого имени основано на криптографических открытых ключах с именем двоичного большого объекта (BLOB), который при необходимости сочетается с именем и версией определенной сборки. Ключ определяет уникальное пространство имен и обеспечивает надежную проверку подлинности имени, так как определение имени должно находиться в сборке, подписанной соответствующим закрытым ключом.
Обратите внимание, что допустимость ключа строгого имени не зависит от отношения доверия или любого сертификата, обязательно выдаваемого для ключа.
В .NET Framework версии 1.0 и 1.1 требования к разрешениям удостоверения эффективны, даже если вызывающая сборка полностью доверяется. То есть, даже если вызывающая сборка имеет полное доверие, запрос на разрешение удостоверения завершается ошибкой, если сборка не соответствует требуемым критериям. В .NET Framework версии 2.0 и более поздних версий требования к разрешениям удостоверения неэффективны, если вызывающая сборка имеет полное доверие. Это обеспечивает согласованность для всех разрешений и устраняет обращение с разрешениями удостоверения в качестве специального случая.
Полное описание строгих имен см. на StrongName странице ссылки. Дополнительные сведения о сборках с строгими именами см. в разделе "Сборки с строгим именем".
Класс StrongNameIdentityPermission используется для определения требований строгого имени для доступа к общедоступным членам типа. Атрибут StrongNameIdentityPermissionAttribute можно использовать для определения требований строгого имени на уровне сборки. В .NET Framework версии 2.0 и более поздних версий можно также использовать атрибут InternalsVisibleToAttribute, чтобы указать, что все неопубликованные типы в этой сборке видны другой сборке. Дополнительные сведения см. в Friend assemblies.
Конструкторы
| Имя | Описание |
|---|---|
| StrongNameIdentityPermission(PermissionState) |
Устаревшие.
Инициализирует новый экземпляр StrongNameIdentityPermission класса с указанным PermissionState. |
| StrongNameIdentityPermission(StrongNamePublicKeyBlob, String, Version) |
Устаревшие.
Инициализирует новый экземпляр класса для указанного StrongNameIdentityPermission удостоверения строгого имени. |
Свойства
| Имя | Описание |
|---|---|
| Name |
Устаревшие.
Возвращает или задает простую часть имени удостоверения строгого имени. |
| PublicKey |
Устаревшие.
Возвращает или задает большой двоичный объект открытого ключа, определяющий пространство имен строгого имени. |
| Version |
Устаревшие.
Возвращает или задает номер версии удостоверения. |
Методы
| Имя | Описание |
|---|---|
| Assert() |
Устаревшие.
Объявляет, что вызывающий код может получить доступ к ресурсу, защищенному запросом разрешений, с помощью кода, вызывающего этот метод, даже если вызывающие элементы в стеке не были предоставлены разрешения на доступ к ресурсу. Использование Assert() может создавать проблемы безопасности. (Унаследовано от CodeAccessPermission) |
| Copy() |
Устаревшие.
Создает и возвращает идентичную копию текущего разрешения. |
| Demand() |
Устаревшие.
SecurityException Принудительно выполняется, если все вызывающие объекты в стеке вызовов не были предоставлены разрешения, указанные текущим экземпляром. (Унаследовано от CodeAccessPermission) |
| Deny() |
Устаревшие.
Устаревшие.
Запрещает вызывающим объектам в стеке вызовов использовать код, который вызывает этот метод для доступа к ресурсу, указанному текущим экземпляром. (Унаследовано от CodeAccessPermission) |
| Equals(Object) |
Устаревшие.
Определяет, равен ли указанный CodeAccessPermission объект текущему CodeAccessPermissionобъекту. (Унаследовано от CodeAccessPermission) |
| FromXml(SecurityElement) |
Устаревшие.
Восстанавливает разрешение с заданным состоянием из кодировки XML. |
| GetHashCode() |
Устаревшие.
Получает хэш-код для объекта, который подходит для CodeAccessPermission использования в хэш-алгоритмах и структурах данных, таких как хэш-таблица. (Унаследовано от CodeAccessPermission) |
| GetType() |
Устаревшие.
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| Intersect(IPermission) |
Устаревшие.
Создает и возвращает разрешение, которое является пересечением текущего разрешения и указанного разрешения. |
| IsSubsetOf(IPermission) |
Устаревшие.
Определяет, является ли текущее разрешение подмножеством указанного разрешения. |
| MemberwiseClone() |
Устаревшие.
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| PermitOnly() |
Устаревшие.
Запрещает вызывающим объектам в стеке вызовов использовать код, который вызывает этот метод для доступа ко всем ресурсам, кроме ресурса, указанного текущим экземпляром. (Унаследовано от CodeAccessPermission) |
| ToString() |
Устаревшие.
Создает и возвращает строковое представление текущего объекта разрешений. (Унаследовано от CodeAccessPermission) |
| ToXml() |
Устаревшие.
Создает xml-кодировку разрешения и текущего состояния. |
| Union(IPermission) |
Устаревшие.
Создает разрешение, которое является объединением текущего разрешения и указанного разрешения. |