StrongNameIdentityPermission Klass

Definition

Definierar identitetsbehörigheten för starka namn. Det går inte att ärva den här klassen.

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
Arv
StrongNameIdentityPermission
Attribut

Kommentarer

Caution

Code Access Security (CAS) har föråldrats i alla versioner av .NET Framework och .NET. De senaste versionerna av .NET följer inte CAS-anteckningar och skapar fel om CAS-relaterade API:er används. Utvecklare bör söka alternativa sätt att utföra säkerhetsuppgifter.

Important

Från och med .NET Framework 4 används inte identitetsbehörigheter.

I .NET Framework-versionerna 1.0 och 1.1 kan identitetsbehörigheter inte ha värdet Unrestricted behörighetstillstånd. I .NET Framework version 2.0 och senare kan identitetsbehörigheter ha valfritt behörighetstillståndsvärde. Det innebär att identitetsbehörigheter i version 2.0 och senare versioner har samma beteende som behörigheter som implementerar IUnrestrictedPermission gränssnittet. Ett krav på en identitet lyckas alltså alltid, oavsett sammansättningsidentitet, om sammansättningen har beviljats fullständigt förtroende.

Använd StrongNameIdentityPermission för att bekräfta att den anropande koden finns i en viss kodsammansättning med starka namn. Fullständiga krav på lyckas endast om alla sammansättningar i stacken har rätt bevis för StrongNameIdentityPermission att uppfylla efterfrågan. Link kräver att attributet StrongNameIdentityPermissionAttribute endast används om den omedelbara anroparen har rätt bevis.

En stark namnidentitet baseras på en kryptografisk offentlig nyckel som kallas ett binärt stort objekt (BLOB), som kan kombineras med namnet och versionen av en specifik sammansättning. Nyckeln definierar ett unikt namnområde och ger en stark verifiering av att namnet är äkta, eftersom definitionen av namnet måste finnas i en sammansättning som är signerad av motsvarande privata nyckel.

Observera att giltigheten för den starka namnnyckeln inte är beroende av en förtroenderelation eller att något certifikat nödvändigtvis utfärdas för nyckeln.

I .NET Framework-versionerna 1.0 och 1.1 gäller kraven på identitetsbehörigheterna även när anropssammansättningen är helt betrodd. Det innebär att även om den anropande sammansättningen har fullt förtroende misslyckas ett krav på en identitetsbehörighet om sammansättningen inte uppfyller de villkor som krävs. I .NET Framework version 2.0 och senare är kraven på identitetsbehörigheter ineffektiva om den anropande sammansättningen har fullt förtroende. Detta säkerställer konsekvens för alla behörigheter och eliminerar behandlingen av identitetsbehörigheter som ett specialfall.

En fullständig beskrivning av starka namn finns på StrongName referenssidan. Mer information om starka namngivna sammansättningar finns i Starka namngivna sammansättningar.

Klassen StrongNameIdentityPermission används för att definiera krav på starka namn för åtkomst till offentliga medlemmar av en typ. Attributet StrongNameIdentityPermissionAttribute kan användas för att definiera krav för starka namn på sammansättningsnivå. I .NET Framework version 2.0 och senare kan du också använda attributet InternalsVisibleToAttribute för att ange att alla icke-offentliga typer i sammansättningen är synliga för en annan sammansättning. Mer information finns i Vänsammansättningar.

Konstruktorer

Name Description
StrongNameIdentityPermission(PermissionState)

Initierar en ny instans av StrongNameIdentityPermission klassen med angiven PermissionState.

StrongNameIdentityPermission(StrongNamePublicKeyBlob, String, Version)

Initierar en ny instans av StrongNameIdentityPermission klassen för den angivna starka namnidentiteten.

Egenskaper

Name Description
Name

Hämtar eller anger den enkla namndelen av den starka namnidentiteten.

PublicKey

Hämtar eller anger den offentliga nyckelblob som definierar namnområdet för stark namnidentitet.

Version

Hämtar eller anger identitetens versionsnummer.

Metoder

Name Description
Assert()

Deklarerar att den anropande koden kan komma åt resursen som skyddas av ett behörighetskrav via koden som anropar den här metoden, även om anropare högre i stacken inte har beviljats behörighet att komma åt resursen. Att använda Assert() kan skapa säkerhetsproblem.

(Ärvd från CodeAccessPermission)
Copy()

Skapar och returnerar en identisk kopia av den aktuella behörigheten.

Demand()

Tvingar fram en SecurityException vid körning om alla anropare högre i anropsstacken inte har beviljats den behörighet som anges av den aktuella instansen.

(Ärvd från CodeAccessPermission)
Deny()
Föråldrad.

Hindrar anropare högre i anropsstacken från att använda koden som anropar den här metoden för att komma åt resursen som anges av den aktuella instansen.

(Ärvd från CodeAccessPermission)
Equals(Object)

Avgör om det angivna CodeAccessPermission objektet är lika med det aktuella CodeAccessPermission.

(Ärvd från CodeAccessPermission)
FromXml(SecurityElement)

Rekonstruerar en behörighet med ett angivet tillstånd från en XML-kodning.

GetHashCode()

Hämtar en hash-kod för objektet CodeAccessPermission som är lämpligt för användning i hash-algoritmer och datastrukturer, till exempel en hash-tabell.

(Ärvd från CodeAccessPermission)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
Intersect(IPermission)

Skapar och returnerar en behörighet som är skärningspunkten för den aktuella behörigheten och den angivna behörigheten.

IsSubsetOf(IPermission)

Avgör om den aktuella behörigheten är en delmängd av den angivna behörigheten.

MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
PermitOnly()

Hindrar anropare högre i anropsstacken från att använda koden som anropar den här metoden för att komma åt alla resurser förutom den resurs som anges av den aktuella instansen.

(Ärvd från CodeAccessPermission)
ToString()

Skapar och returnerar en strängrepresentation av det aktuella behörighetsobjektet.

(Ärvd från CodeAccessPermission)
ToXml()

Skapar en XML-kodning av behörigheten och dess aktuella tillstånd.

Union(IPermission)

Skapar en behörighet som är en union av den aktuella behörigheten och den angivna behörigheten.

Gäller för

Se även