StrongNameIdentityPermission Classe

Définition

Définit l’autorisation d’identité pour les noms forts. Cette classe ne peut pas être héritée.

public ref class StrongNameIdentityPermission sealed : 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
[<System.Serializable>]
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
Public NotInheritable Class StrongNameIdentityPermission
Inherits CodeAccessPermission
Héritage
StrongNameIdentityPermission
Attributs

Remarques

Avertissement

La sécurité d’accès du code (CAS) a été déconseillée dans toutes les versions du .NET Framework et de .NET. Les versions récentes de .NET n’honorent pas les annotations CAS et produisent des erreurs si les API liées à CAS sont utilisées. Les développeurs doivent rechercher d’autres moyens d’accomplir des tâches de sécurité.

Important

À compter du .NET Framework 4, les autorisations d’identité ne sont pas utilisées.

Dans .NET Framework versions 1.0 et 1.1, les autorisations d’identité ne peuvent pas avoir une valeur d’état d’autorisation Unrestricted. Dans .NET Framework version 2.0 et ultérieure, les autorisations d’identité peuvent avoir n’importe quelle valeur d’état d’autorisation. Cela signifie que dans la version 2.0 et les versions ultérieures, les autorisations d’identité ont le même comportement que les autorisations qui implémentent l’interface IUnrestrictedPermission . Autrement dit, une demande d’identité réussit toujours, quelle que soit l’identité de l’assembly, si l’assembly a reçu une confiance totale.

Permet StrongNameIdentityPermission de confirmer que le code appelant se trouve dans un assembly de code nommé fort particulier. Les demandes complètes ne StrongNameIdentityPermission réussissent que si tous les assemblys de la pile ont la preuve correcte pour répondre à la demande. Les demandes de liaison qui utilisent l’attribut StrongNameIdentityPermissionAttribute réussissent uniquement si l’appelant immédiat a la preuve correcte.

Une identité de nom fort est basée sur une clé publique de chiffrement appelée objet blob (binary large object), qui est éventuellement combinée avec le nom et la version d’un assembly spécifique. La clé définit un espace de noms unique et fournit une vérification forte que le nom est authentique, car la définition du nom doit se trouver dans un assembly signé par la clé privée correspondante.

Notez que la validité de la clé de nom fort n’est pas dépendante d’une relation d’approbation ou d’un certificat nécessairement émis pour la clé.

Dans .NET Framework versions 1.0 et 1.1, les demandes sur les autorisations d’identité sont effectives même lorsque l’assembly appelant est entièrement approuvé. Autrement dit, même si l’assembly appelant a une confiance totale, une demande d’autorisation d’identité échoue si l’assembly ne répond pas aux critères demandés. Dans le .NET Framework version 2.0 et ultérieure, les demandes d’autorisations d’identité sont inefficaces si l’assembly appelant a une confiance totale. Cela garantit la cohérence de toutes les autorisations et élimine le traitement des autorisations d’identité en tant que cas spécial.

Pour obtenir une description complète des noms forts, consultez la StrongName page de référence. Pour plus d’informations sur les assemblys avec nom fort, consultez assemblys nommés fort.

La StrongNameIdentityPermission classe est utilisée pour définir des exigences de nom fort pour accéder aux membres publics d’un type. L’attribut StrongNameIdentityPermissionAttribute peut être utilisé pour définir des exigences de nom fort au niveau de l’assembly. Dans .NET Framework version 2.0 et ultérieure, vous pouvez également utiliser l’attribut InternalsVisibleToAttribute pour spécifier que tous les types non publics de cet assembly sont visibles par un autre assembly. Pour plus d’informations, consultez assemblies amies.

Constructeurs

Nom Description
StrongNameIdentityPermission(PermissionState)

Initialise une nouvelle instance de la StrongNameIdentityPermission classe avec le fichier spécifié PermissionState.

StrongNameIdentityPermission(StrongNamePublicKeyBlob, String, Version)

Initialise une nouvelle instance de la StrongNameIdentityPermission classe pour l’identité de nom fort spécifiée.

Propriétés

Nom Description
Name

Obtient ou définit la partie nom simple de l’identité de nom fort.

PublicKey

Obtient ou définit l’objet blob de clé publique qui définit l’espace de noms d’identité de nom fort.

Version

Obtient ou définit le numéro de version de l’identité.

Méthodes

Nom Description
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 plus haut dans la pile n’ont pas été autorisés à accéder à la ressource. L’utilisation Assert() peut créer des problèmes de sécurité.

(Hérité de CodeAccessPermission)
Copy()

Crée et retourne une copie identique de l’autorisation actuelle.

Demand()

Force une SecurityException exécution si tous les appelants plus haut dans la pile des appels n’ont pas reçu l’autorisation spécifiée par l’instance actuelle.

(Hérité de CodeAccessPermission)
Deny()
Obsolète.

Empêche les appelants plus haut 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.

(Hérité de CodeAccessPermission)
Equals(Object)

Détermine si l’objet spécifié CodeAccessPermission est égal à l’objet actuel CodeAccessPermission.

(Hérité de CodeAccessPermission)
FromXml(SecurityElement)

Reconstruit une autorisation avec un état spécifié à partir d’un encodage XML.

GetHashCode()

Obtient un code de hachage pour l’objet CodeAccessPermission qui convient pour une utilisation dans les algorithmes de hachage et les structures de données comme une table de hachage.

(Hérité de CodeAccessPermission)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
Intersect(IPermission)

Crée et retourne une autorisation qui est l’intersection de l’autorisation actuelle et de l’autorisation spécifiée.

IsSubsetOf(IPermission)

Détermine si l’autorisation actuelle est un sous-ensemble de l’autorisation spécifiée.

MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
PermitOnly()

Empêche les appelants plus haut 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.

(Hérité de CodeAccessPermission)
ToString()

Crée et retourne une représentation sous forme de chaîne de l’objet d’autorisation actuel.

(Hérité de CodeAccessPermission)
ToXml()

Crée un encodage XML de l’autorisation et de son état actuel.

Union(IPermission)

Crée une autorisation qui correspond à l’union de l’autorisation actuelle et de l’autorisation spécifiée.

S’applique à

Voir aussi