MethodBase.IsSecurityCritical Vlastnost

Definice

Získá hodnotu, která označuje, zda aktuální metoda nebo konstruktor je kritické zabezpečení nebo zabezpečení-bezpečné-kritické na aktuální úrovni důvěryhodnosti, a proto může provádět kritické operace.

public:
 virtual property bool IsSecurityCritical { bool get(); };
public virtual bool IsSecurityCritical { get; }
member this.IsSecurityCritical : bool
Public Overridable ReadOnly Property IsSecurityCritical As Boolean

Hodnota vlastnosti

true pokud je aktuální metoda nebo konstruktor na aktuální úrovni důvěryhodnosti kritický pro zabezpečení nebo bezpečnostně kritická; false pokud je transparentní.

Poznámky

IsSecurityCriticalVlastnosti , IsSecuritySafeCriticala IsSecurityTransparent hlásí úroveň transparentnosti metody nebo konstruktoru na aktuální úrovni důvěryhodnosti, jak určuje modul CLR (Common Language Runtime). Kombinace těchto vlastností jsou uvedeny v následující tabulce:

Úroveň zabezpečení IsSecurityCritical IsSecuritySafeCritical IsSecurityTransparent
Kritické true false false
Bezpečně kritická true true false
Průhlednost false false true

Použití těchto vlastností je mnohem jednodušší než zkoumání poznámek zabezpečení sestavení a jeho typů a členů, kontrola aktuální úrovně důvěryhodnosti a pokus o duplikování pravidel modulu runtime.

Důležité

U částečně důvěryhodných sestavení závisí hodnota této vlastnosti na aktuální úrovni důvěryhodnosti sestavení. Pokud je sestavení načteno do částečně důvěryhodné domény aplikace (například do domény aplikace v izolovaném prostoru), modul runtime ignoruje poznámky zabezpečení sestavení. Sestavení a všechny jeho typy jsou považovány za průhledné. Modul runtime bere v úvahu poznámky k zabezpečení částečné důvěryhodného sestavení jen tehdy, je-li sestavení načteno do plně důvěryhodné domény aplikace (například do výchozí domény aplikace pracovní plochy). Důvěryhodné sestavení (tj. sestavení se silným názvem, které je nainstalováno v globální mezipaměti sestavení) je naproti tomu vždy načteno s plnou důvěryhodností bez ohledu na úroveň důvěryhodnosti domény aplikace, takže jeho aktuální úroveň důvěryhodnosti je vždy „plně důvěryhodné“. Aktuální úrovně důvěryhodnosti sestavení a domén aplikací můžete určit pomocí Assembly.IsFullyTrusted vlastností a AppDomain.IsFullyTrusted .

Další informace o reflexi a transparentnosti najdete v tématu Aspekty zabezpečení pro reflexi. Informace o transparentnosti najdete v tématu Změny zabezpečení.

Platí pro

Viz také