Sdílet prostřednictvím


FieldInfo.IsSecurityCritical Vlastnost

Definice

Získá hodnotu, která označuje, zda aktuální pole je kritické zabezpečení nebo bezpečné-kritické zabezpečení na aktuální úrovni důvěryhodnosti.

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í pole na aktuální úrovni důvěryhodnosti kriticky důležité pro zabezpečení nebo bezpečné zabezpečení; false pokud je transparentní.

Poznámky

Vlastnosti IsSecurityCritical, IsSecuritySafeCriticala IsSecurityTransparent hlásí úroveň transparentnosti pole 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í. Je-li sestavení načteno do částečně důvěryhodné domény aplikace (například do domény aplikace v izolovaném prostoru), bude modul runtime ignorovat poznámky k 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é