StrongNameIdentityPermission Klasse

Definition

Definiert die Identitätsberechtigung für starke Namen.Defines the identity permission for strong names. Diese Klasse kann nicht vererbt werden.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
Vererbung
StrongNameIdentityPermission
Attribute

Hinweise

Wichtig

.NET Framework 4.NET Framework 4Ab werden Identitäts Berechtigungen nicht verwendet.Starting with the .NET Framework 4.NET Framework 4, identity permissions are not used.

In den .NET Framework Versionen 1,0 und 1,1 dürfen Identitäts Berechtigungen keinen Wert für Unrestricted den Berechtigungs Status aufweisen.In the .NET Framework versions 1.0 and 1.1, identity permissions cannot have an Unrestricted permission state value. In der .NET Framework Version 2,0 und höher können Identitäts Berechtigungen einen beliebigen Berechtigungs Zustandswert aufweisen.In the .NET Framework version 2.0 and later, identity permissions can have any permission state value. Dies bedeutet, dass in Version 2,0 und höheren Versionen Identitäts Berechtigungen das gleiche Verhalten wie die Berechtigungen haben, die IUnrestrictedPermission die-Schnittstelle implementieren.This means that in version 2.0 and later versions, identity permissions have the same behavior as permissions that implement the IUnrestrictedPermission interface. Das heißt, dass eine Anforderung für eine Identität immer erfolgreich ist, unabhängig von der Identität der Assembly, wenn der Assembly volle Vertrauenswürdigkeit gewährt wurde.That is, a demand for an identity always succeeds, regardless of the identity of the assembly, if the assembly has been granted full trust.

Verwenden StrongNameIdentityPermission Sie, um zu bestätigen, dass sich der aufrufenden Code in einer bestimmten Codeassembly mit starkem Namen befindet.Use StrongNameIdentityPermission to confirm that the calling code is in a particular strong-named code assembly. Vollständige Anforderungen StrongNameIdentityPermission für sind nur erfolgreich, wenn alle Assemblys im Stapel den richtigen Nachweis aufweisen, um die Anforderung zu erfüllen.Full demands for StrongNameIdentityPermission succeed only if all the assemblies in the stack have the correct evidence to satisfy the demand. Link Aufrufe, die das StrongNameIdentityPermissionAttribute -Attribut verwenden, sind nur erfolgreich, wenn der unmittelbare Aufrufer über den richtigen Beweis verfügtLink demands that use the StrongNameIdentityPermissionAttribute attribute succeed only if the immediate caller has the correct evidence.

Eine Identität mit starkem Namen basiert auf einem kryptografischen öffentlichen Schlüssel, der als Binary Large Object (BLOB) bezeichnet wird, der optional mit dem Namen und der Version einer bestimmten Assembly kombiniert wird.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. Der Schlüssel definiert einen eindeutigen Namespace und stellt eine strenge Überprüfung sicher, dass der Name "Original" ist, da sich die Definition des Namens in einer Assembly befinden muss, die mit dem entsprechenden privaten Schlüssel signiert ist.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.

Beachten Sie, dass die Gültigkeit des Schlüssels mit starkem Namen nicht von einer Vertrauensstellung oder von einem Zertifikat abhängt, das notwendigerweise für den Schlüssel ausgestellt wird.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.

In den .NET Framework Versionen 1,0 und 1,1 sind die Anforderungen an die Identitäts Berechtigungen auch dann wirksam, wenn die aufrufenden Assembly voll vertrauenswürdig ist.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. Das heißt, auch wenn die aufrufende Assembly über volle Vertrauenswürdigkeit verfügt, schlägt die Anforderung einer Identitäts Berechtigung fehl, wenn die Assembly nicht die geforderten Kriterien erfüllt.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. In der .NET Framework Version 2,0 und höher sind die Anforderungen für Identitäts Berechtigungen wirkungslos, wenn die aufrufende Assembly über volle Vertrauenswürdigkeit verfügt.In the .NET Framework version 2.0 and later, demands for identity permissions are ineffective if the calling assembly has full trust. Dadurch wird die Konsistenz für alle Berechtigungen sichergestellt, und die Behandlung von Identitäts Berechtigungen als Sonderfall entfällt.This ensures consistency for all permissions and eliminates the treatment of identity permissions as a special case.

Eine umfassende Beschreibung der starken Namen finden Sie auf der StrongName Referenzseite.For a complete description of strong names, see the StrongName reference page. Weitere Informationen zu Assemblys mit starkem Namen finden Sie unter Assemblys mit starkem Namen.For more information about strong-named assemblies, see Strong-Named Assemblies.

Die StrongNameIdentityPermission -Klasse wird verwendet, um Anforderungen für starke Namen für den Zugriff auf die öffentlichen Member eines Typs zu definieren.The StrongNameIdentityPermission class is used to define strong-name requirements for accessing the public members of a type. Das StrongNameIdentityPermissionAttribute -Attribut kann verwendet werden, um Anforderungen für starke Namen auf Assemblyebene zu definieren.The StrongNameIdentityPermissionAttribute attribute can be used to define strong-name requirements at the assembly level. In der .NET Framework Version 2,0 und höher können Sie auch das InternalsVisibleToAttribute -Attribut verwenden, um anzugeben, dass alle nicht öffentlichen Typen in dieser Assembly für eine andere Assembly sichtbar sind.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. Weitere Informationen finden Sie unter Friend-Assemblys.For more information, see Friend Assemblies.

Konstruktoren

StrongNameIdentityPermission(PermissionState)

Initialisiert eine neue Instanz der StrongNameIdentityPermission-Klasse mit der angegebenen PermissionState.Initializes a new instance of the StrongNameIdentityPermission class with the specified PermissionState.

StrongNameIdentityPermission(StrongNamePublicKeyBlob, String, Version)

Initialisiert eine neue Instanz der StrongNameIdentityPermission-Klasse für die angegebene Identität mit starkem Namen.Initializes a new instance of the StrongNameIdentityPermission class for the specified strong name identity.

Eigenschaften

Name

Ruft den einfachen Namen ab, der Bestandteil der Identität des starken Namens ist, oder legt diesen fest.Gets or sets the simple name portion of the strong name identity.

PublicKey

Ruft das BLOB mit dem öffentlichen Schlüssel ab, der den Namespace für die Identität des starken Namens definiert, oder legt dieses fest.Gets or sets the public key blob that defines the strong name identity namespace.

Version

Ruft die Versionsnummer der Identität ab oder legt diese fest.Gets or sets the version number of the identity.

Methoden

Assert()

Deklariert, dass der aufrufende Code auf die durch eine Berechtigungsforderung geschützte Ressource über den diese Methode aufrufenden Code zugreifen kann, auch wenn Aufrufern einer höheren Ebene im Stapel keine Berechtigung zum Zugreifen auf die Ressource erteilt wurde.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. Die Verwendung von Assert() kann zu Sicherheitsproblemen führen.Using Assert() can create security issues.

(Geerbt von CodeAccessPermission)
Copy()

Erstellt eine identische Kopie der aktuellen Berechtigung und gibt sie zurück.Creates and returns an identical copy of the current permission.

Demand()

Erzwingt zur Laufzeit eine SecurityException, wenn nicht allen Aufrufern, die in der Aufrufliste höher eingestuft sind, die Berechtigung gewährt wurde, die von der aktuellen Instanz angegeben wird.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.

(Geerbt von CodeAccessPermission)
Deny()

Verhindert, dass in der Aufrufliste höher eingestufte Aufrufer den Code verwenden, der diese Methode aufruft, um auf die Ressource zuzugreifen, die von der aktuellen Instanz angegeben wird.Prevents callers higher in the call stack from using the code that calls this method to access the resource specified by the current instance.

(Geerbt von CodeAccessPermission)
Equals(Object)

Bestimmt, ob das angegebene CodeAccessPermission-Objekt und das aktuelle CodeAccessPermission-Objekt gleich sind.Determines whether the specified CodeAccessPermission object is equal to the current CodeAccessPermission.

(Geerbt von CodeAccessPermission)
FromXml(SecurityElement)

Stellt eine Berechtigung mit einem angegebenen Zustand aus einer XML-Codierung wieder her.Reconstructs a permission with a specified state from an XML encoding.

GetHashCode()

Ruft einen Hashcode für das CodeAccessPermission-Objekt ab, das sich für die Verwendung in Hashalgorithmen und Datenstrukturen eignet, z.B. in einer Hashtabelle.Gets a hash code for the CodeAccessPermission object that is suitable for use in hashing algorithms and data structures such as a hash table.

(Geerbt von CodeAccessPermission)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
Intersect(IPermission)

Erstellt eine Berechtigung als Schnittmenge der aktuellen und der angegebenen Berechtigung und gibt diese zurück.Creates and returns a permission that is the intersection of the current permission and the specified permission.

IsSubsetOf(IPermission)

Bestimmt, ob die aktuelle Berechtigung eine Teilmenge der angegebenen Berechtigung ist.Determines whether the current permission is a subset of the specified permission.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
PermitOnly()

Verhindert, dass in der Aufrufliste höher eingestufte Aufrufer den Code, der diese Methode aufruft, verwenden, um auf alle Ressourcen außer die Ressource zuzugreifen, die von der aktuellen Instanz angegeben wird.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.

(Geerbt von CodeAccessPermission)
ToString()

Erstellt eine Zeichenfolgenentsprechung des aktuellen Berechtigungsobjekts und gibt diese zurück.Creates and returns a string representation of the current permission object.

(Geerbt von CodeAccessPermission)
ToXml()

Erstellt eine XML-Codierung der Berechtigung und ihres aktuellen Zustands.Creates an XML encoding of the permission and its current state.

Union(IPermission)

Erstellt eine Berechtigung als Kombination der aktuellen und der angegebenen Berechtigung.Creates a permission that is the union of the current permission and the specified permission.

Explizite Schnittstellenimplementierungen

IPermission.Demand() (Geerbt von CodeAccessPermission)
IStackWalk.Assert() (Geerbt von CodeAccessPermission)
IStackWalk.Demand() (Geerbt von CodeAccessPermission)
IStackWalk.Deny() (Geerbt von CodeAccessPermission)
IStackWalk.PermitOnly() (Geerbt von CodeAccessPermission)

Gilt für:

Siehe auch