Udostępnij za pośrednictwem


Type.IsSecuritySafeCritical Właściwość

Definicja

Pobiera wartość wskazującą, czy bieżący typ jest krytyczny pod względem zabezpieczeń na bieżącym poziomie zaufania; oznacza to, czy może wykonywać operacje krytyczne i można uzyskiwać do niego dostęp za pomocą przezroczystego kodu.

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

Wartość właściwości

true jeśli bieżący typ ma krytyczne znaczenie dla bezpieczeństwa na bieżącym poziomie zaufania; false jeśli ma krytyczne znaczenie dla zabezpieczeń lub jest przezroczyste.

Uwagi

Właściwości IsSecurityCritical, IsSecuritySafeCriticali IsSecurityTransparent raportują poziom przezroczystości typu na bieżącym poziomie zaufania określonym przez środowisko uruchomieniowe języka wspólnego (CLR). W poniższej tabeli przedstawiono kombinacje tych właściwości:

Poziom zabezpieczeń IsSecurityCritical IsSecuritySafeCritical IsSecurityTransparent
Krytyczne true false false
Bezpieczne krytyczne true true false
Przezroczyste false false true

Użycie tych właściwości jest znacznie prostsze niż badanie adnotacji zabezpieczeń zestawu i jego typów, sprawdzanie bieżącego poziomu zaufania i próby zduplikowania reguł środowiska uruchomieniowego.

Ważne

Dla zestawów częściowego zaufania wartość tej właściwości zależy od bieżącego poziomu zaufania dla zestawu. Jeżeli zestaw jest ładowany do domeny aplikacji częściowo zaufanej (na przykład w domenie aplikacji w trybie piaskownicy), środowisko wykonawcze ignoruje adnotacje zabezpieczeń zestawu. Zestaw i wszystkie jego typy są traktowane jako przezroczyste. Środowisko wykonawcze zwraca uwagę na adnotacje zabezpieczeń zestawu częściowego zaufania tylko wtedy, gdy zestaw ten jest ładowany do w pełni zaufanej domeny aplikacji (na przykład, do domyślnej domeny aplikacji z aplikacji pulpitu). Z drugiej strony zaufany zestaw (czyli zestaw z silną nazwą zainstalowaną w globalnej pamięci podręcznej zestawów) zawsze jest ładowany z pełnym zaufaniem, bez względu na poziom zaufania domeny aplikacji, więc jego bieżący poziom zaufania zawsze jest w pełni zaufany. Bieżące poziomy zaufania zestawów i domen aplikacji można określić przy użyciu Assembly.IsFullyTrusted właściwości i AppDomain.IsFullyTrusted .

Aby uzyskać więcej informacji na temat odbicia i przejrzystości, zobacz Zagadnienia dotyczące zabezpieczeń do odbicia. Aby uzyskać informacje o przejrzystości, zobacz Zmiany zabezpieczeń.

Dotyczy

Zobacz też