StrongNameIdentityPermission Klas

Definitie

Definieert de identiteitsmachtiging voor sterke namen. Deze klasse kan niet worden overgenomen.

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
Overname
StrongNameIdentityPermission
Kenmerken

Opmerkingen

Caution

Cas (Code Access Security) is afgeschaft in alle versies van .NET Framework en .NET. Recente versies van .NET respecteren geen CAS-aantekeningen en produceren fouten als CAS-gerelateerde API's worden gebruikt. Ontwikkelaars moeten alternatieve manieren zoeken om beveiligingstaken uit te voeren.

Important

Vanaf het .NET Framework 4 worden identiteitsmachtigingen niet gebruikt.

In .NET Framework-versie 1.0 en 1.1 kunnen identiteitsmachtigingen geen Unrestricted machtigingsstatuswaarde hebben. In het .NET Framework versie 2.0 en hoger kunnen identiteitsmachtigingen elke machtigingsstatuswaarde hebben. Dit betekent dat identiteitsmachtigingen in versie 2.0 en hoger hetzelfde gedrag hebben als machtigingen waarmee de IUnrestrictedPermission interface wordt geïmplementeerd. Dat wil gezegd dat een vraag naar een identiteit altijd slaagt, ongeacht de identiteit van de assembly, als de assembly volledig vertrouwen heeft gekregen.

Gebruik StrongNameIdentityPermission dit om te bevestigen dat de aanroepende code zich in een bepaalde codeassembly met een sterke naam bevindt. Volledige eisen voor StrongNameIdentityPermission slagen alleen als alle assembly's in de stack het juiste bewijs hebben om aan de vraag te voldoen. Koppeling vereist dat het StrongNameIdentityPermissionAttribute kenmerk alleen wordt gebruikt als de directe beller het juiste bewijs heeft.

Een sterke naamidentiteit is gebaseerd op een cryptografische openbare sleutel, een binair groot object (BLOB), dat optioneel wordt gecombineerd met de naam en versie van een specifieke assembly. De sleutel definieert een unieke naamruimte en biedt sterke verificatie dat de naam legitiem is, omdat de definitie van de naam zich in een assembly moet bevinden die is ondertekend door de bijbehorende persoonlijke sleutel.

Houd er rekening mee dat de geldigheid van de sterke naamsleutel niet afhankelijk is van een vertrouwensrelatie of van een certificaat dat noodzakelijkerwijs voor de sleutel wordt uitgegeven.

In .NET Framework-versies 1.0 en 1.1 zijn de vereisten voor de identiteitsmachtigingen effectief, zelfs wanneer de aanroepende assembly volledig wordt vertrouwd. Dat wil gezegd, zelfs als de aanroepende assembly volledig vertrouwen heeft, mislukt een vraag naar een identiteitsmachtiging als de assembly niet voldoet aan de vereiste criteria. In de .NET Framework versie 2.0 en hoger zijn de vereisten voor identiteitsmachtigingen ineffectief als de aanroepende assembly volledig vertrouwen heeft. Dit zorgt voor consistentie voor alle machtigingen en elimineert de behandeling van identiteitsmachtigingen als een speciaal geval.

Zie de StrongName referentiepagina voor een volledige beschrijving van sterke namen. Zie Sterk benoemde assembly's voor meer informatie over sterk benoemde assembly's.

De StrongNameIdentityPermission klasse wordt gebruikt om vereisten voor sterke namen te definiëren voor toegang tot de openbare leden van een type. Het StrongNameIdentityPermissionAttribute kenmerk kan worden gebruikt om vereisten voor sterke namen op assemblyniveau te definiëren. In het .NET Framework versie 2.0 en hoger kunt u ook het kenmerk InternalsVisibleToAttribute gebruiken om op te geven dat alle niet-openbare typen in die assembly zichtbaar zijn voor een andere assembly. Zie Friend assemblies voor meer informatie.

Constructors

Name Description
StrongNameIdentityPermission(PermissionState)

Initialiseert een nieuw exemplaar van de StrongNameIdentityPermission klasse met de opgegeven PermissionState.

StrongNameIdentityPermission(StrongNamePublicKeyBlob, String, Version)

Initialiseert een nieuw exemplaar van de StrongNameIdentityPermission klasse voor de opgegeven sterke naamidentiteit.

Eigenschappen

Name Description
Name

Hiermee haalt u het eenvoudige naamgedeelte van de sterke naamidentiteit op of stelt u deze in.

PublicKey

Hiermee haalt u de openbare-sleutel-blob op die de naamruimte voor de sterke naam van de identiteit definieert.

Version

Hiermee haalt u het versienummer van de identiteit op of stelt u dit in.

Methoden

Name Description
Assert()

Declareert dat de aanroepende code toegang heeft tot de resource die wordt beveiligd door een machtigingsvraag via de code die deze methode aanroept, zelfs als bellers die hoger in de stack zijn, niet zijn gemachtigd om toegang te krijgen tot de resource. Met behulp van Assert() dit hulpprogramma kunt u beveiligingsproblemen maken.

(Overgenomen van CodeAccessPermission)
Copy()

Hiermee maakt en retourneert u een identieke kopie van de huidige machtiging.

Demand()

Dwingt een runtime af SecurityException als aan alle bellers hoger in de aanroepstack niet de machtiging is verleend die is opgegeven door het huidige exemplaar.

(Overgenomen van CodeAccessPermission)
Deny()
Verouderd.

Hiermee voorkomt u dat bellers in de aanroepstack de code gebruiken die deze methode aanroept om toegang te krijgen tot de resource die is opgegeven door het huidige exemplaar.

(Overgenomen van CodeAccessPermission)
Equals(Object)

Bepaalt of het opgegeven CodeAccessPermission object gelijk is aan de huidige CodeAccessPermission.

(Overgenomen van CodeAccessPermission)
FromXml(SecurityElement)

Hiermee wordt een machtiging met een opgegeven status van een XML-codering gereconstrueerd.

GetHashCode()

Hiermee haalt u een hashcode op voor het CodeAccessPermission object dat geschikt is voor gebruik in hash-algoritmen en gegevensstructuren, zoals een hash-tabel.

(Overgenomen van CodeAccessPermission)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
Intersect(IPermission)

Hiermee maakt en retourneert u een machtiging die het snijpunt is van de huidige machtiging en de opgegeven machtiging.

IsSubsetOf(IPermission)

Bepaalt of de huidige machtiging een subset van de opgegeven machtiging is.

MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
PermitOnly()

Hiermee voorkomt u dat bellers in de aanroepstack de code gebruiken die deze methode aanroept om toegang te krijgen tot alle resources, met uitzondering van de resource die is opgegeven door het huidige exemplaar.

(Overgenomen van CodeAccessPermission)
ToString()

Hiermee maakt en retourneert u een tekenreeksweergave van het huidige machtigingsobject.

(Overgenomen van CodeAccessPermission)
ToXml()

Hiermee maakt u een XML-codering van de machtiging en de huidige status.

Union(IPermission)

Hiermee maakt u een machtiging die de samenvoeging is van de huidige machtiging en de opgegeven machtiging.

Van toepassing op

Zie ook