Udostępnij za pośrednictwem


IStackWalk Interfejs

Definicja

Przestroga

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

Zarządza przewodnikiem stosu, który określa, czy wszystkie osoby wywołujące w stosie wywołań mają wymagane uprawnienia dostępu do chronionego zasobu.

public interface class IStackWalk
public interface IStackWalk
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public interface IStackWalk
[System.Runtime.InteropServices.ComVisible(true)]
public interface IStackWalk
type IStackWalk = interface
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type IStackWalk = interface
[<System.Runtime.InteropServices.ComVisible(true)>]
type IStackWalk = interface
Public Interface IStackWalk
Pochodne
Atrybuty

Uwagi

Przestroga

Zabezpieczenia dostępu do kodu (CAS) zostały przestarzałe we wszystkich wersjach .NET Framework i .NET. Najnowsze wersje platformy .NET nie honorują adnotacji CAS i generują błędy, jeśli są używane interfejsy API związane z usługą CAS. Deweloperzy powinni szukać alternatywnych sposobów wykonywania zadań zabezpieczeń.

Częściowo zaufany kod zawsze stanowi zagrożenie bezpieczeństwa. Czasami można manipulować nimi w celu wykonywania akcji w imieniu złośliwego kodu, który nie ma uprawnień dostępu do zasobu. W ten sposób złośliwy kod może osiągnąć wyższy dostęp do zabezpieczeń niż powinien być dozwolony.

Środowisko uruchomieniowe języka wspólnego pomaga chronić zarządzany kod przed tymi atakami, uruchamiając przewodnik stosu we wszystkich wywołaniach. Przewodnik stosu wymaga, aby cały kod w stosie wywołań miał uprawnienia dostępu do chronionego zasobu. Ponieważ kod próbujący atak będzie zawsze znajdować się w stosie wywołań, nie będzie mógł przekroczyć własnych uprawnień zabezpieczeń.

Metody

Assert()
Przestarzałe.

Potwierdza, że kod wywołujący może uzyskać dostęp do zasobu zidentyfikowany przez bieżący obiekt uprawnień, nawet jeśli osoby wywołujące wyższe w stosie nie otrzymały uprawnień dostępu do zasobu.

Demand()
Przestarzałe.

Określa w czasie wykonywania, czy wszystkie osoby wywołujące w stosie wywołań otrzymały uprawnienie określone przez bieżący obiekt uprawnień.

Deny()
Przestarzałe.

Powoduje, że każdy Demand() dla bieżącego obiektu przechodzącego przez kod wywołujący kończy się niepowodzeniem.

PermitOnly()
Przestarzałe.

Powoduje, że każdy Demand() dla wszystkich obiektów z wyjątkiem bieżącego, który przechodzi przez kod wywołujący kończy się niepowodzeniem, nawet jeśli kod wyższy w stosie wywołań otrzymał uprawnienie dostępu do innych zasobów.

Dotyczy