StrongNameIdentityPermission StrongNameIdentityPermission StrongNameIdentityPermission StrongNameIdentityPermission Class

Определение

Определяет разрешение идентификации для строгих имен.Defines the identity permission for strong names. Этот класс не наследуется.This class cannot be inherited.

public ref class StrongNameIdentityPermission sealed : System::Security::CodeAccessPermission
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
Public NotInheritable Class StrongNameIdentityPermission
Inherits CodeAccessPermission
Наследование
StrongNameIdentityPermissionStrongNameIdentityPermissionStrongNameIdentityPermissionStrongNameIdentityPermission
Атрибуты

Комментарии

Важно!

Начиная с .NET Framework 4.NET Framework 4, права доступа для удостоверения не используются.Starting with the .NET Framework 4.NET Framework 4, identity permissions are not used.

В .NET Framework версий 1.0 и 1.1, не может иметь права доступа для удостоверения Unrestricted значение состояния разрешения.In the .NET Framework versions 1.0 and 1.1, identity permissions cannot have an Unrestricted permission state value. В .NET Framework версии 2.0 и более поздних версий права доступа для удостоверения может иметь любое значение состояния разрешения.In the .NET Framework version 2.0 and later, identity permissions can have any permission state value. Это означает, что в версии 2.0 и более поздних версий, права доступа для удостоверения ведут себя так же как разрешения, которые реализуют IUnrestrictedPermission интерфейс.This means that in version 2.0 and later versions, identity permissions have the same behavior as permissions that implement the IUnrestrictedPermission interface. То есть запрос для удостоверения, всегда завершается успешно, независимо от того, удостоверение сборки, если были предоставлены сборке полное доверие.That is, a demand for an identity always succeeds, regardless of the identity of the assembly, if the assembly has been granted full trust.

Используйте StrongNameIdentityPermission для подтверждения того, что вызывающий код находится в сборке со строгим именем кода.Use StrongNameIdentityPermission to confirm that the calling code is in a particular strong-named code assembly. Полные требования для StrongNameIdentityPermission успешным, только в том случае, если все сборки в стеке имеет правильное свидетельство для удовлетворения спроса.Full demands for StrongNameIdentityPermission succeed only if all the assemblies in the stack have the correct evidence to satisfy the demand. Ссылка требует, использующих StrongNameIdentityPermissionAttribute атрибут успешно только в том случае, если непосредственный вызывающий оператор имеет правильное свидетельство.Link demands that use the StrongNameIdentityPermissionAttribute attribute succeed only if the immediate caller has the correct evidence.

Идентификатора строгого имени зависит от криптографический открытый ключ, называемый большой двоичный объект (BLOB), которые при необходимости объединяются с помощью имени и версии данной сборки.A strong name identity is based on a cryptographic public key called a binary large object (BLOB), which is optionally combined with the name and version of a specific assembly. Ключ определяет уникальное пространство имен и обеспечивает строгую проверку истинности имени, так как определение имени должно быть в сборке, которая подписывается с помощью соответствующего закрытого ключа.The key defines a unique namespace and provides strong verification that the name is genuine, because the definition of the name must be in an assembly that is signed by the corresponding private key.

Обратите внимание, что действительность ключа строгого имени не зависит от, отношения доверия или любого сертификата, выданного для ключа.Note that the validity of the strong name key is not dependent on a trust relationship or on any certificate necessarily being issued for the key.

В .NET Framework версий 1.0 и 1.1 требования разрешениям идентификации остаются в силе даже в том случае, если вызывающая сборка является полностью доверенным.In the .NET Framework versions 1.0 and 1.1, demands on the identity permissions are effective even when the calling assembly is fully trusted. То есть даже если вызывающей сборки считается полностью надежным, запрос на разрешение идентификации не выполняется, если сборки не соответствует требуемому критерию.That is, even if the calling assembly has full trust, a demand for an identity permission fails if the assembly does not meet the demanded criteria. В .NET Framework версии 2.0 и более поздних, требования для разрешения идентификаторов теряют Если вызывающей сборки считается полностью надежным.In the .NET Framework version 2.0 and later, demands for identity permissions are ineffective if the calling assembly has full trust. Это гарантирует согласованность всех разрешений и устраняются обработка права доступа для удостоверения как особый случай.This ensures consistency for all permissions and eliminates the treatment of identity permissions as a special case.

Полное описание строгих имен, см. в разделе StrongName справочной странице.For a complete description of strong names, see the StrongName reference page. Дополнительные сведения о сборках со строгими именами см. в разделе сборки со строгими именами.For more information about strong-named assemblies, see Strong-Named Assemblies.

StrongNameIdentityPermission Класс используется для определения требований строгого имени для доступа к общим членам типа.The StrongNameIdentityPermission class is used to define strong-name requirements for accessing the public members of a type. StrongNameIdentityPermissionAttribute Атрибут может использоваться для определения требований строгих имен на уровне сборки.The StrongNameIdentityPermissionAttribute attribute can be used to define strong-name requirements at the assembly level. В .NET Framework версии 2.0 и более поздних версий, можно также использовать InternalsVisibleToAttribute атрибут, чтобы указать, что все закрытые типы в этой сборке являются видимыми в другую сборку.In the .NET Framework version 2.0 and later, you can also use the InternalsVisibleToAttribute attribute to specify that all nonpublic types in that assembly are visible to another assembly. Дополнительные сведения см. в разделе Дружественные сборки.For more information, see Friend Assemblies.

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

StrongNameIdentityPermission(PermissionState) StrongNameIdentityPermission(PermissionState) StrongNameIdentityPermission(PermissionState) StrongNameIdentityPermission(PermissionState)

Инициализирует новый экземпляр класса StrongNameIdentityPermission указанным значением PermissionState.Initializes a new instance of the StrongNameIdentityPermission class with the specified PermissionState.

StrongNameIdentityPermission(StrongNamePublicKeyBlob, String, Version) StrongNameIdentityPermission(StrongNamePublicKeyBlob, String, Version) StrongNameIdentityPermission(StrongNamePublicKeyBlob, String, Version) StrongNameIdentityPermission(StrongNamePublicKeyBlob, String, Version)

Инициализирует новый экземпляр класса StrongNameIdentityPermission для указанной идентификации строгого имени.Initializes a new instance of the StrongNameIdentityPermission class for the specified strong name identity.

Свойства

Name Name Name Name

Получает или задает часть простого имени идентификации строгого имени.Gets or sets the simple name portion of the strong name identity.

PublicKey PublicKey PublicKey PublicKey

Получает или устанавливает blob-объект открытого ключа, который определяет пространство имен идентификации строгого имени.Gets or sets the public key blob that defines the strong name identity namespace.

Version Version Version Version

Получает или задает номер версии идентификации.Gets or sets the version number of the identity.

Методы

Assert() Assert() Assert() Assert()

Объявляет, что вызывающий код может получить доступ к ресурсу, защищенному требованием разрешения, через код, вызывающий этот метод, даже если вызывающим объектам выше в стеке вызовов не предоставлено разрешение на доступ к ресурсу.Declares that the calling code can access the resource protected by a permission demand through the code that calls this method, even if callers higher in the stack have not been granted permission to access the resource. Assert() может вызвать проблемы системы безопасности.Using Assert() can create security issues.

(Inherited from CodeAccessPermission)
Copy() Copy() Copy() Copy()

Создает и возвращает идентичную копию текущего разрешения.Creates and returns an identical copy of the current permission.

Demand() Demand() Demand() Demand()

Принудительно создает исключение SecurityException во время выполнения, если ни у одного расположенного выше в стеке вызывающего фрагмента кода нет разрешения, указанного в текущем экземпляре.Forces a SecurityException at run time if all callers higher in the call stack have not been granted the permission specified by the current instance.

(Inherited from CodeAccessPermission)
Deny() Deny() Deny() Deny()

Запрещает вызывающим фрагментам кода выше в стеке вызова использовать вызывающий этот метод код для доступа к ресурсу, указанному в текущем экземпляре.Prevents callers higher in the call stack from using the code that calls this method to access the resource specified by the current instance.

(Inherited from CodeAccessPermission)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Определяет, равен ли заданный объект CodeAccessPermission текущему объекту CodeAccessPermission.Determines whether the specified CodeAccessPermission object is equal to the current CodeAccessPermission.

(Inherited from CodeAccessPermission)
FromXml(SecurityElement) FromXml(SecurityElement) FromXml(SecurityElement) FromXml(SecurityElement)

Восстанавливает разрешение с определенным состоянием из кодировки XML.Reconstructs a permission with a specified state from an XML encoding.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Возвращает хэш-код для объекта CodeAccessPermission, который можно использовать в алгоритмах хэширования и структурах данных, например в хэш-таблице.Gets a hash code for the CodeAccessPermission object that is suitable for use in hashing algorithms and data structures such as a hash table.

(Inherited from CodeAccessPermission)
GetType() GetType() GetType() GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Inherited from Object)
Intersect(IPermission) Intersect(IPermission) Intersect(IPermission) Intersect(IPermission)

Создает и возвращает разрешение, представляющее собой пересечение текущего и заданного разрешений.Creates and returns a permission that is the intersection of the current permission and the specified permission.

IsSubsetOf(IPermission) IsSubsetOf(IPermission) IsSubsetOf(IPermission) IsSubsetOf(IPermission)

Определяет, является ли текущее разрешение подмножеством заданного разрешения.Determines whether the current permission is a subset of the specified permission.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Inherited from Object)
PermitOnly() PermitOnly() PermitOnly() PermitOnly()

Запрещает вызывающим объектам выше в стеке вызова использовать вызывающий этот метод код для доступа ко всем ресурсам, за исключением ресурса, указанного в текущем экземпляре.Prevents callers higher in the call stack from using the code that calls this method to access all resources except for the resource specified by the current instance.

(Inherited from CodeAccessPermission)
ToString() ToString() ToString() ToString()

Создает и возвращает строковое представление текущего объекта разрешений.Creates and returns a string representation of the current permission object.

(Inherited from CodeAccessPermission)
ToXml() ToXml() ToXml() ToXml()

Создает кодировку XML для разрешения и его текущего состояния.Creates an XML encoding of the permission and its current state.

Union(IPermission) Union(IPermission) Union(IPermission) Union(IPermission)

Создает разрешение, представляющее собой объединение текущего и указанного разрешений.Creates a permission that is the union of the current permission and the specified permission.

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

IPermission.Demand() IPermission.Demand() IPermission.Demand() IPermission.Demand() Inherited from CodeAccessPermission
IStackWalk.Assert() IStackWalk.Assert() IStackWalk.Assert() IStackWalk.Assert() Inherited from CodeAccessPermission
IStackWalk.Demand() IStackWalk.Demand() IStackWalk.Demand() IStackWalk.Demand() Inherited from CodeAccessPermission
IStackWalk.Deny() IStackWalk.Deny() IStackWalk.Deny() IStackWalk.Deny() Inherited from CodeAccessPermission
IStackWalk.PermitOnly() IStackWalk.PermitOnly() IStackWalk.PermitOnly() IStackWalk.PermitOnly() Inherited from CodeAccessPermission

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

Дополнительно