IStackWalk Интерфейс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Внимание!
Code Access Security is not supported or honored by the runtime.
Управляет проверкой стека, которая определяет, имеют ли все вызывающие объекты в стеке вызовов разрешения, необходимые для доступа к защищенному ресурсу.
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
- Производный
- Атрибуты
Комментарии
Внимание!
Безопасность доступа к коду (CAS) является устаревшей во всех версиях платформа .NET Framework и .NET. В последних версиях .NET заметки CAS не учитываются и при использовании API, связанных с CAS, возникают ошибки. Разработчикам следует искать альтернативные способы выполнения задач безопасности.
Частично доверенный код всегда представляет угрозу безопасности. Иногда им можно управлять для выполнения действий от имени вредоносного кода, который не имеет разрешения на доступ к ресурсу. Таким образом, вредоносный код может обеспечить более высокий уровень доступа к безопасности, чем он должен быть разрешен.
Среда CLR помогает защитить управляемый код от этих атак, выполняя пошаговое руководство по стеку для всех вызовов. Для пошагового выполнения стека требуется, чтобы весь код в стеке вызовов был иметь разрешение на доступ к защищенному ресурсу. Так как код, пытающийся атаковать, всегда будет находиться в стеке вызовов, он не сможет превысить собственные разрешения безопасности.
Методы
Assert() |
Устаревшие..
Подтверждает, что вызывающий код может получить доступ к ресурсу, определяемому текущим объектом разрешения, даже если вызывающим объектам выше в стеке вызовов не предоставлено разрешение на доступ к ресурсу. |
Demand() |
Устаревшие..
Определяет во время выполнения, было ли разрешение, указанное текущим объектом разрешений, предоставлено всем вызывающим методам в стеке вызовов. |
Deny() |
Устаревшие..
Вызывает ошибку каждого Demand() для текущего объекта, проходящего через вызывающий код. |
PermitOnly() |
Устаревшие..
Вызывает сбой всех Demand() для всех объектов, кроме текущего, проходящих через вызывающий код, даже если коду выше в стеке вызовов было предоставлено разрешение на доступ к другим ресурсам. |