StrongNameIdentityPermissionAttribute-Klasse
TOC
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern

StrongNameIdentityPermissionAttribute-Klasse

Ermöglicht das Anwenden von Sicherheitsaktionen für StrongNameIdentityPermission auf Code unter Verwendung von Deklarationssicherheit. Diese Klasse kann nicht vererbt werden.

Namespace: System.Security.Permissions
Assembly: mscorlib (in mscorlib.dll)

[SerializableAttribute] 
[AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Constructor|AttributeTargets.Method, AllowMultiple=true, Inherited=false)] 
[ComVisibleAttribute(true)] 
public sealed class StrongNameIdentityPermissionAttribute : CodeAccessSecurityAttribute
/** @attribute SerializableAttribute() */ 
/** @attribute AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Constructor|AttributeTargets.Method, AllowMultiple=true, Inherited=false) */ 
/** @attribute ComVisibleAttribute(true) */ 
public final class StrongNameIdentityPermissionAttribute extends CodeAccessSecurityAttribute
SerializableAttribute 
AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Constructor|AttributeTargets.Method, AllowMultiple=true, Inherited=false) 
ComVisibleAttribute(true) 
public final class StrongNameIdentityPermissionAttribute extends CodeAccessSecurityAttribute

Der zulässige Gültigkeitsbereich der Deklaration hängt von der verwendeten SecurityAction ab.

Die Schlüsselzeichenfolgen für dieses Attribut können durch Ausführen von secutil.exe abgerufen werden. Weitere Informationen finden Sie unter Secutil-Tool (Secutil.exe).

Die von einem Sicherheitsattribut deklarierten Sicherheitsinformationen werden in den Metadaten des Attributzieles gespeichert. Das System greift auf diese Sicherheitsinformationen zur Laufzeit zu. Sicherheitsattribute werden ausschließlich für deklarative Sicherheit verwendet. Verwenden Sie für imperative Sicherheit die entsprechende Berechtigungsklasse.

Das StrongNameIdentityPermissionAttribute-Attribut kann verwendet werden, um Anforderungen mit starkem Namen auf Assemblyebene zu definieren. In .NET Framework, Version 2.0, können Sie auch mit dem InternalsVisibleToAttribute-Attribut angeben, dass alle nicht öffentlichen Typen in dieser Assembly für eine andere Assembly sichtbar sind. Weitere Informationen finden Sie unter Friend-Assemblys (C#-Programmierhandbuch).

Im folgenden Beispiel eines deklarativen Attributs wird eine ordnungsgemäße Anforderung von StrongNameIdentityPermission dargestellt und festgestellt, dass Sie zum Ausführen von Code mindestens über diese Berechtigung verfügen müssen. Code wird nur ausgeführt, wenn er mithilfe des privaten Schlüssels, der dem angegebenen öffentlichen Schlüssel entspricht, mit einem starken Namen signiert wird. Da Name und Version nicht angegeben sind, entspricht dieses Attribut sämtlichen Namen und Versionen.

[assembly:StrongNameIdentityPermissionAttribute(SecurityAction.RequestMinimum, 
 PublicKey="00240000048000009400000006020000002400005253413100040000010001005" +
 "38a4a19382e9429cf516dcf1399facdccca092a06442efaf9ecaca33457be26ee0073c6bde5" +
 "1fe0873666a62459581669b510ae1e84bef6bcb1aff7957237279d8b7e0e25b71ad39df3684" +
 "5b7db60382c8eb73f289823578d33c09e48d0d2f90ed4541e1438008142ef714bfe604c41a4" +
 "957a4f6e6ab36b9715ec57625904c6")]
 //In C#, you must specify that you are using the assembly scope when making a request.

/** @assembly StrongNameIdentityPermissionAttribute(SecurityAction.
    RequestMinimum, PublicKey =
    "00240000048000009400000006020000002400005253413100040000010001005" 
    + "38a4a19382e9429cf516dcf1399facdccca092a06442efaf9ecaca33457be26ee0073c6bde5" 
    + "1fe0873666a62459581669b510ae1e84bef6bcb1aff7957237279d8b7e0e25b71ad39df3684" 
    + "5b7db60382c8eb73f289823578d33c09e48d0d2f90ed4541e1438008142ef714bfe604c41a4" 
    + "957a4f6e6ab36b9715ec57625904c6")
 */
// In VJ#, you must specify that you are using the assembly scope when making 
// a request.

Im folgenden Beispiel wird veranschaulicht, wie gefordert wird, dass der Aufrufcode über StrongNameIdentityPermission verfügt. Code wird nur ausgeführt, wenn er mithilfe des privaten Schlüssels, der dem angegebenen öffentlichen Schlüssel entspricht, mit einem starken Namen signiert wird.

[StrongNameIdentityPermissionAttribute(SecurityAction.Demand, 
 PublicKey="00240000048000009400000006020000002400005253413100040000010001005" +
 "38a4a19382e9429cf516dcf1399facdccca092a06442efaf9ecaca33457be26ee0073c6bde5" +
 "1fe0873666a62459581669b510ae1e84bef6bcb1aff7957237279d8b7e0e25b71ad39df3684" +
 "5b7db60382c8eb73f289823578d33c09e48d0d2f90ed4541e1438008142ef714bfe604c41a4" +
 "957a4f6e6ab36b9715ec57625904c6")]

/** @attribute StrongNameIdentityPermissionAttribute(SecurityAction.Demand,
    PublicKey = "00240000048000009400000006020000002400005253413100040000010001005"
    + "38a4a19382e9429cf516dcf1399facdccca092a06442efaf9ecaca33457be26ee0073c6bde5" 
    + "1fe0873666a62459581669b510ae1e84bef6bcb1aff7957237279d8b7e0e25b71ad39df3684"
    + "5b7db60382c8eb73f289823578d33c09e48d0d2f90ed4541e1438008142ef714bfe604c41a4" 
    + "957a4f6e6ab36b9715ec57625904c6")
 */

System.Object
   System.Attribute
     System.Security.Permissions.SecurityAttribute
       System.Security.Permissions.CodeAccessSecurityAttribute
        System.Security.Permissions.StrongNameIdentityPermissionAttribute

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0
Anzeigen:
© 2016 Microsoft