StrongNameIdentityPermission Class

Définition

Définit l’autorisation d’identité pour les noms forts. Defines the identity permission for strong names. Cette classe ne peut pas être héritée. This class cannot be inherited.

[System.Runtime.InteropServices.ComVisible(true)]
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
Héritage
StrongNameIdentityPermission
Attributs

Remarques

Important

En commençant par le .NET Framework 4.NET Framework 4, les autorisations d’identité ne sont pas utilisées.Starting with the .NET Framework 4.NET Framework 4, identity permissions are not used.

Dans les versions 1.0 et 1.1 du .NET Framework, les autorisations d’identité ne peut pas avoir un Unrestricted valeur d’état d’autorisation.In the .NET Framework versions 1.0 and 1.1, identity permissions cannot have an Unrestricted permission state value. Dans le .NET Framework version 2.0 et versions ultérieure, les autorisations d’identité peuvent avoir n’importe quelle valeur d’état autorisation.In the .NET Framework version 2.0 and later, identity permissions can have any permission state value. Cela signifie que dans la version 2.0 et versions ultérieures, les autorisations d’identité ont le même comportement que les autorisations qui implémentent le IUnrestrictedPermission interface.This means that in version 2.0 and later versions, identity permissions have the same behavior as permissions that implement the IUnrestrictedPermission interface. Autrement dit, une demande pour une identité toujours aboutit, quel que soit l’identité de l’assembly, si l’assembly a été accordé une confiance totale.That is, a demand for an identity always succeeds, regardless of the identity of the assembly, if the assembly has been granted full trust.

Utilisez StrongNameIdentityPermission pour confirmer que le code appelant est dans un assembly de code à nom fort particulier.Use StrongNameIdentityPermission to confirm that the calling code is in a particular strong-named code assembly. Demandes complètes de StrongNameIdentityPermission réussit uniquement si tous les assemblys dans la pile disposent des preuves correctes de satisfaire la demande.Full demands for StrongNameIdentityPermission succeed only if all the assemblies in the stack have the correct evidence to satisfy the demand. Demandes de liaison qui utilisent le StrongNameIdentityPermissionAttribute attribut réussit uniquement si l’appelant immédiat possède la preuve correcte.Link demands that use the StrongNameIdentityPermissionAttribute attribute succeed only if the immediate caller has the correct evidence.

Une identité de nom fort est basée sur une clé de chiffrement publique appelée un objet binaire volumineux (BLOB), qui est éventuellement combiné avec le nom et la version d’un assembly spécifique.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. La clé définit un espace de noms unique et fournit une vérification forte que le nom est authentique, étant donné que la définition du nom doit être dans un assembly est signé par la clé privée correspondante.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.

Notez que la validité de la clé de nom fort n’est pas dépendante sur une relation d’approbation ou sur n’importe quel certificat émis obligatoirement pour la clé.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.

Dans les versions 1.0 et 1.1 du .NET Framework, les demandes sur les autorisations d’identité sont efficaces même lorsque l’assembly appelant est entièrement fiable.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. Autrement dit, même si l’assembly appelant bénéficie d’une confiance totale, une demande pour une autorisation d’identité échoue si l’assembly ne répond pas aux critères demandés.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. Dans le .NET Framework version 2.0 et ultérieures, les demandes pour les autorisations d’identité sont inefficaces si l’assembly appelant bénéficie d’une confiance totale.In the .NET Framework version 2.0 and later, demands for identity permissions are ineffective if the calling assembly has full trust. Cela garantit la cohérence pour toutes les autorisations et évite le traitement des autorisations d’identité comme un cas particulier.This ensures consistency for all permissions and eliminates the treatment of identity permissions as a special case.

Pour obtenir une description complète des noms forts, consultez le StrongName page de référence.For a complete description of strong names, see the StrongName reference page. Pour plus d’informations sur les assemblys avec nom fort, consultez assemblys avec nom fort.For more information about strong-named assemblies, see Strong-Named Assemblies.

Le StrongNameIdentityPermission classe est utilisée pour définir les exigences de nom fort pour l’accès aux membres publics d’un type.The StrongNameIdentityPermission class is used to define strong-name requirements for accessing the public members of a type. Le StrongNameIdentityPermissionAttribute attribut peut être utilisé pour définir les exigences de nom fort au niveau de l’assembly.The StrongNameIdentityPermissionAttribute attribute can be used to define strong-name requirements at the assembly level. Dans le .NET Framework version 2.0 et versions ultérieure, vous pouvez également utiliser le InternalsVisibleToAttribute attribut pour spécifier que tous les types non publics dans cet assembly sont visibles à un autre assembly.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. Pour plus d’informations, consultez Assemblys friend.For more information, see Friend Assemblies.

Constructeurs

StrongNameIdentityPermission(PermissionState)

Initialise une nouvelle instance de la classe StrongNameIdentityPermission avec le PermissionState spécifié. Initializes a new instance of the StrongNameIdentityPermission class with the specified PermissionState.

StrongNameIdentityPermission(StrongNamePublicKeyBlob, String, Version)

Initialise une nouvelle instance de la classe StrongNameIdentityPermission pour l'identité de nom fort spécifiée. Initializes a new instance of the StrongNameIdentityPermission class for the specified strong name identity.

Propriétés

Name

Obtient ou définit la partie nom simple de l’identité de nom fort. Gets or sets the simple name portion of the strong name identity.

PublicKey

Obtient ou définit l’objet blob de clé publique qui définit l’espace de noms d’identité de nom fort. Gets or sets the public key blob that defines the strong name identity namespace.

Version

Obtient ou définit le numéro de version de l’identité. Gets or sets the version number of the identity.

Méthodes

Assert()

Déclare que le code appelant peut accéder à la ressource protégée par une demande d’autorisation via le code qui appelle cette méthode, même si les appelants situés plus haut dans la pile n’ont pas reçu l’autorisation d’accéder à la ressource. 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. L’utilisation de Assert() peut créer des problèmes de sécurité. Using Assert() can create security issues.

(Inherited from CodeAccessPermission)
Copy()

Crée et retourne une copie identique de l’autorisation actuelle. Creates and returns an identical copy of the current permission.

Demand()

Force un SecurityException au moment de l’exécution si tous les appelants figurant plus haut dans la pile des appels ne disposent pas des autorisations spécifiées par l’instance actuelle. 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()

Empêche les appelants plus hauts dans la pile des appels d’utiliser le code qui appelle cette méthode pour accéder à la ressource spécifiée par l’instance actuelle. 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)

Détermine si l’objet CodeAccessPermission spécifié est égal au CodeAccessPermission actuel. Determines whether the specified CodeAccessPermission object is equal to the current CodeAccessPermission.

(Inherited from CodeAccessPermission)
FromXml(SecurityElement)

Reconstruit une autorisation avec un état spécifié à partir d’un encodage XML. Reconstructs a permission with a specified state from an XML encoding.

GetHashCode()

Obtient un code de hachage pour l’objet CodeAccessPermission qui peut être utilisé dans des structures de données et des algorithmes de hachage, comme une table de hachage. 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()

Obtient le Type de l'instance actuelle. Gets the Type of the current instance.

(Inherited from Object)
Intersect(IPermission)

Crée et retourne une autorisation qui constitue l’intersection entre l’autorisation actuelle et l’autorisation spécifiée. Creates and returns a permission that is the intersection of the current permission and the specified permission.

IsSubsetOf(IPermission)

Détermine si l’autorisation actuelle est un sous-ensemble de l’autorisation spécifiée. Determines whether the current permission is a subset of the specified permission.

MemberwiseClone()

Crée une copie superficielle du Object actuel. Creates a shallow copy of the current Object.

(Inherited from Object)
PermitOnly()

Empêche les appelants plus hauts dans la pile des appels d’utiliser le code qui appelle cette méthode pour accéder à toutes les ressources à l’exception de la ressource spécifiée par l’instance actuelle. 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()

Crée et retourne une chaîne représentant l’objet d’autorisation actuel. Creates and returns a string representation of the current permission object.

(Inherited from CodeAccessPermission)
ToXml()

Crée un codage XML de l’autorisation et de son état actuel. Creates an XML encoding of the permission and its current state.

Union(IPermission)

Crée une autorisation qui est l’union de l’autorisation actuelle et de l’autorisation spécifiée. Creates a permission that is the union of the current permission and the specified permission.

Implémentations d’interfaces explicites

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

S’applique à

Voir aussi