TypeBuilder.IsSecurityCritical Tulajdonság
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Olyan értéket kap, amely jelzi, hogy az aktuális típus biztonsági szempontból kritikus vagy biztonságos-kritikus, ezért kritikus műveleteket hajthat végre.
public:
virtual property bool IsSecurityCritical { bool get(); };
public override bool IsSecurityCritical { get; }
member this.IsSecurityCritical : bool
Public Overrides ReadOnly Property IsSecurityCritical As Boolean
Tulajdonság értéke
true ha az aktuális típus biztonsági szempontból kritikus vagy biztonsági szempontból kritikus; false ha transzparens.
Kivételek
Az aktuális dinamikus típus nem a metódus meghívásával CreateType() lett létrehozva.
Megjegyzések
A IsSecurityCritical, IsSecuritySafeCriticalés IsSecurityTransparent tulajdonságok a típus átlátszósági szintjét jelentik a közös nyelvi futtatókörnyezet (CLR) alapján. Ezeknek a tulajdonságoknak a kombinációi a következő táblázatban láthatók:
| Biztonsági szint | IsSecurityCritical | IsSecuritySafeCritical | IsBiztonságiÁtlátható |
|---|---|---|---|
| Létfontosságú | true |
false |
false |
| Biztonságkritikus | true |
true |
false |
| Transparent | false |
false |
true |
Ezeknek a tulajdonságoknak a használata sokkal egyszerűbb, mint egy szerelvény biztonsági széljegyzeteinek és típusainak vizsgálata, az aktuális megbízhatósági szint ellenőrzése és a futtatókörnyezet szabályainak duplikálása.
A futtatókörnyezet megkezdi az átláthatósági szintek kiértékelését a szerelvényen. Ha például a dinamikus szerelvény biztonsági szempontból kritikus, a rendszer figyelmen kívül hagyja a típusok megjegyzéseit, és minden típus biztonsági szempontból kritikus fontosságú.
Alapértelmezés szerint a dinamikus szerelvény örökli az azt kibocsátó szerelvény átlátszóságát. Ezt az alapértelmezett értéket felülbírálhatja a AppDomain.DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, IEnumerable<CustomAttributeBuilder>), AppDomain.DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Boolean, IEnumerable<CustomAttributeBuilder>)vagy AppDomain.DefineDynamicAssembly(AssemblyName, AssemblyBuilderAccess, String, Evidence, PermissionSet, PermissionSet, PermissionSet, Boolean, IEnumerable<CustomAttributeBuilder>) metódus túlterhelésével és a biztonsági attribútumok megadásával. Ezzel nem emelheti a biztonsági szinteket; vagyis a transzparens kód nem bocsáthat ki biztonsági szempontból kritikus vagy biztonsági szempontból biztonságos-kritikus kódot. Az attribútumokat a dinamikus szerelvény létrehozásakor kell megadni, vagy csak akkor lépnek érvénybe, ha a szerelvényt lemezre menti és újra betölti.
Note
Az alapértelmezett öröklés a futtatókörnyezet átláthatóságának értékelésére korlátozódik. A rendszer nem alkalmaz attribútumokat a dinamikus szerelvényre. Ha biztonsági attribútumokat szeretne hozzáadni, saját maga kell alkalmaznia őket.
A tükröződés kibocsátásáról és az átláthatóságról további információt a Tükröződés kibocsátás biztonsági problémái című témakörben talál. Az átláthatóságról további információt a biztonsági módosítások című témakörben talál.