StrongNameIdentityPermission Třída

Definice

Upozornění

Code Access Security is not supported or honored by the runtime.

Definuje oprávnění identity pro silné názvy. Tuto třídu nelze dědit.

public ref class StrongNameIdentityPermission sealed : System::Security::CodeAccessPermission
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class StrongNameIdentityPermission : 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
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type StrongNameIdentityPermission = class
    inherit 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
Dědičnost
StrongNameIdentityPermission
Atributy

Poznámky

Důležité

Počínaje .NET Framework 4 se oprávnění identit nepoužívají.

V .NET Framework verze 1.0 a 1.1 nesmí mít Unrestricted oprávnění identit hodnotu stavu oprávnění. V .NET Framework verze 2.0 a novější můžou mít oprávnění identit libovolnou hodnotu stavu oprávnění. To znamená, že ve verzi 2.0 a novějších verzích mají oprávnění identit stejné chování jako oprávnění, která implementují IUnrestrictedPermission rozhraní. To znamená, že poptávka po identitě vždy proběhne úspěšně bez ohledu na identitu sestavení, pokud bylo sestavení uděleno úplné důvěryhodnosti.

Slouží StrongNameIdentityPermission k potvrzení, že volající kód je v konkrétním sestavení kódu se silným názvem. Úplné požadavky na StrongNameIdentityPermission úspěch pouze v případě, že všechna sestavení v zásobníku mají správné důkazy pro splnění poptávky. Propojení vyžaduje, aby atribut byl StrongNameIdentityPermissionAttribute úspěšný pouze v případě, že okamžitý volající má správný důkaz.

Identita silného názvu je založená na kryptografickém veřejném klíči označovaného jako binární velký objekt (BLOB), který je volitelně kombinován s názvem a verzí konkrétního sestavení. Klíč definuje jedinečný obor názvů a poskytuje silné ověření, že název je originální, protože definice názvu musí být v sestavení podepsaném odpovídajícím privátním klíčem.

Mějte na paměti, že platnost klíče silného názvu není závislá na vztahu důvěryhodnosti nebo na žádném certifikátu, který se pro klíč nutně vydává.

V .NET Framework verze 1.0 a 1.1 jsou požadavky na oprávnění identity efektivní i v případě, že je volající sestavení plně důvěryhodné. To znamená, že i když volající sestavení plně důvěřuje, požadavek na oprávnění identity selže, pokud sestavení nesplňuje požadavkům kritéria. V .NET Framework verze 2.0 a novější jsou požadavky na oprávnění identity neefektivní, pokud má volající sestavení plnou důvěryhodnost. Tím zajistíte konzistenci pro všechna oprávnění a eliminujete zacházení s oprávněními identit jako zvláštní případ.

Úplný popis silných názvů najdete na StrongName referenční stránce. Další informace o sestaveních se silným názvem naleznete v tématu Sestavení se silným názvem.

Třída StrongNameIdentityPermission slouží k definování požadavků silného názvu pro přístup k veřejným členům typu. Atribut StrongNameIdentityPermissionAttribute lze použít k definování požadavků silného názvu na úrovni sestavení. V .NET Framework verze 2.0 a novější můžete také použít InternalsVisibleToAttribute atribut k určení, že všechny nepublikované typy v daném sestavení jsou viditelné pro jiné sestavení. Další informace najdete v tématu Přátelská sestavení.

Konstruktory

StrongNameIdentityPermission(PermissionState)

Inicializuje novou instanci StrongNameIdentityPermission třídy se zadaným PermissionState.

StrongNameIdentityPermission(StrongNamePublicKeyBlob, String, Version)

Inicializuje novou instanci StrongNameIdentityPermission třídy pro zadanou identitu silného názvu.

Vlastnosti

Name

Získá nebo nastaví jednoduchou část názvu silné identity názvu.

PublicKey

Získá nebo nastaví objekt blob veřejného klíče, který definuje obor názvů identity silného názvu.

Version

Získá nebo nastaví číslo verze identity.

Metody

Assert()

Deklaruje, že volající kód má přístup k prostředku chráněnému požadavky na oprávnění prostřednictvím kódu, který volá tuto metodu, i když volajícím vyšší v zásobníku nebyl udělen oprávnění pro přístup k prostředku. Použití může vytvářet problémy se zabezpečením Assert() .

(Zděděno od CodeAccessPermission)
Copy()

Vytvoří a vrátí stejnou kopii aktuálního oprávnění.

Demand()

SecurityException Vynutí dobu běhu, pokud všichni volající vyšší v zásobníku volání nebyli udělena oprávnění určená aktuální instancí.

(Zděděno od CodeAccessPermission)
Deny()
Zastaralé.
Zastaralé.

Zabrání volajícím v zásobníku volání, aby používali kód, který volá tuto metodu pro přístup k prostředku určenému aktuální instancí.

(Zděděno od CodeAccessPermission)
Equals(Object)

Určuje, zda zadaný CodeAccessPermission objekt je roven aktuálnímu CodeAccessPermission.

(Zděděno od CodeAccessPermission)
FromXml(SecurityElement)

Rekonstruuje oprávnění se zadaným stavem z kódování XML.

GetHashCode()

Získá hash kód pro CodeAccessPermission objekt, který je vhodný pro použití v hashovací algoritmy a datové struktury, jako je hash tabulka.

(Zděděno od CodeAccessPermission)
GetType()

Type Získá aktuální instanci.

(Zděděno od Object)
Intersect(IPermission)

Vytvoří a vrátí oprávnění, které je průsečíkem aktuálního oprávnění a zadaného oprávnění.

IsSubsetOf(IPermission)

Určuje, zda je aktuální oprávnění podmnožinou zadaného oprávnění.

MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

(Zděděno od Object)
PermitOnly()

Zabrání volajícím v zásobníku volání, aby používali kód, který volá tuto metodu pro přístup ke všem prostředkům s výjimkou prostředku určeného aktuální instancí.

(Zděděno od CodeAccessPermission)
ToString()

Vytvoří a vrátí řetězcovou reprezentaci aktuálního objektu oprávnění.

(Zděděno od CodeAccessPermission)
ToXml()

Vytvoří kódování XML oprávnění a jeho aktuální stav.

Union(IPermission)

Vytvoří oprávnění, které je sjednocením aktuálního oprávnění a zadaného oprávnění.

Explicitní implementace rozhraní

IPermission.Demand()

SecurityException Vyvolá za běhu požadavek na zabezpečení za běhu.

(Zděděno od CodeAccessPermission)
IStackWalk.Assert()

Tvrdí, že volající kód má přístup k prostředku zjištěnému aktuálním objektem oprávnění, a to i v případě, že volajícím vyšší v zásobníku nebylo uděleno oprávnění pro přístup k prostředku.

(Zděděno od CodeAccessPermission)
IStackWalk.Demand()

Určuje, zda všichni volající v zásobníku volání obdrželi oprávnění určená aktuálním objektem oprávnění.

(Zděděno od CodeAccessPermission)
IStackWalk.Deny()

Způsobí selhání každého Demand() aktuálního objektu, který prochází volajícím kódem.

(Zděděno od CodeAccessPermission)
IStackWalk.PermitOnly()

Způsobí, že každý Demand() pro všechny objekty kromě aktuálního objektu, který prochází volajícím kódem, selže, a to i v případě, že kód vyšší v zásobníku volání byl udělen oprávnění pro přístup k jiným prostředkům.

(Zděděno od CodeAccessPermission)

Platí pro

Viz také