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)
Syntax
'Declaration
<SerializableAttribute> _
<AttributeUsageAttribute(AttributeTargets.Assembly Or AttributeTargets.Class Or AttributeTargets.Struct Or AttributeTargets.Constructor Or AttributeTargets.Method, AllowMultiple:=True, Inherited:=False)> _
<ComVisibleAttribute(True)> _
Public NotInheritable Class StrongNameIdentityPermissionAttribute
Inherits CodeAccessSecurityAttribute
'Usage
Dim instance As StrongNameIdentityPermissionAttribute
[SerializableAttribute]
[AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Constructor|AttributeTargets.Method, AllowMultiple=true, Inherited=false)]
[ComVisibleAttribute(true)]
public sealed class StrongNameIdentityPermissionAttribute : CodeAccessSecurityAttribute
[SerializableAttribute]
[AttributeUsageAttribute(AttributeTargets::Assembly|AttributeTargets::Class|AttributeTargets::Struct|AttributeTargets::Constructor|AttributeTargets::Method, AllowMultiple=true, Inherited=false)]
[ComVisibleAttribute(true)]
public ref class StrongNameIdentityPermissionAttribute sealed : public 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
Hinweise
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).
Beispiel
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 := "00240000048000009400000006020000002400005253413100040000010" & _
"00100538a4a19382e9429cf516dcf1399facdccca092a06442efaf9ecaca33457be26ee0" & _
"073c6bde51fe0873666a62459581669b510ae1e84bef6bcb1aff7957237279d8b7e0e25b" & _
"71ad39df36845b7db60382c8eb73f289823578d33c09e48d0d2f90ed4541e1438008142e" & _
"f714bfe604c41a4957a4f6e6ab36b9715ec57625904c6")>
'In Visual Basic, 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 C#, you must specify that you are using the assembly scope when making a request.
[assembly:StrongNameIdentityPermissionAttribute(SecurityAction::RequestMinimum,
PublicKey="00240000048000009400000006020000002400005253413100040000010001005"
"38a4a19382e9429cf516dcf1399facdccca092a06442efaf9ecaca33457be26ee0073c6bde5"
"activatede0873666a62459581669b510ae1e84bef6bcb1aff7957237279d8b7e0e25b71ad39df3684"
"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 := "00240000048000009400000006020000002400005253413100040000010" & _
"00100538a4a19382e9429cf516dcf1399facdccca092a06442efaf9ecaca33457be26ee0" & _
"073c6bde51fe0873666a62459581669b510ae1e84bef6bcb1aff7957237279d8b7e0e25b" & _
"71ad39df36845b7db60382c8eb73f289823578d33c09e48d0d2f90ed4541e1438008142e" & _
"f714bfe604c41a4957a4f6e6ab36b9715ec57625904c6")> Public Class SampleClass
[StrongNameIdentityPermissionAttribute(SecurityAction.Demand,
PublicKey="00240000048000009400000006020000002400005253413100040000010001005" +
"38a4a19382e9429cf516dcf1399facdccca092a06442efaf9ecaca33457be26ee0073c6bde5" +
"1fe0873666a62459581669b510ae1e84bef6bcb1aff7957237279d8b7e0e25b71ad39df3684" +
"5b7db60382c8eb73f289823578d33c09e48d0d2f90ed4541e1438008142ef714bfe604c41a4" +
"957a4f6e6ab36b9715ec57625904c6")]
[StrongNameIdentityPermissionAttribute(SecurityAction::Demand,
PublicKey="00240000048000009400000006020000002400005253413100040000010001005"
"38a4a19382e9429cf516dcf1399facdccca092a06442efaf9ecaca33457be26ee0073c6bde5"
"activatede0873666a62459581669b510ae1e84bef6bcb1aff7957237279d8b7e0e25b71ad39df3684"
"5b7db60382c8eb73f289823578d33c09e48d0d2f90ed4541e1438008142ef714bfe604c41a4"
"957a4f6e6ab36b9715ec57625904c6")]
/** @attribute StrongNameIdentityPermissionAttribute(SecurityAction.Demand,
PublicKey = "00240000048000009400000006020000002400005253413100040000010001005"
+ "38a4a19382e9429cf516dcf1399facdccca092a06442efaf9ecaca33457be26ee0073c6bde5"
+ "1fe0873666a62459581669b510ae1e84bef6bcb1aff7957237279d8b7e0e25b71ad39df3684"
+ "5b7db60382c8eb73f289823578d33c09e48d0d2f90ed4541e1438008142ef714bfe604c41a4"
+ "957a4f6e6ab36b9715ec57625904c6")
*/
Vererbungshierarchie
System.Object
System.Attribute
System.Security.Permissions.SecurityAttribute
System.Security.Permissions.CodeAccessSecurityAttribute
System.Security.Permissions.StrongNameIdentityPermissionAttribute
Threadsicherheit
Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Plattformen
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.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
StrongNameIdentityPermissionAttribute-Member
System.Security.Permissions-Namespace
StrongNameIdentityPermission-Klasse
StrongNamePublicKeyBlob
StrongName
StrongNameMembershipCondition