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
Наследование
StrongNameIdentityPermission
Атрибуты

Комментарии

Внимание!

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

Важно!

Начиная с платформа .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 атрибут , чтобы указать, что все непубликованные типы в этой сборке видны другой сборке. Дополнительные сведения см. в разделе Дружественные сборки.

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

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)
Устаревшие..

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

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

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