IStackWalk 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
警告
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 中已被取代。 使用 CAS 相關 API 時,最新版本的 .NET 不會接受 CAS 批註,並產生錯誤。 開發人員應該尋求替代方式來完成安全性工作。
部分信任的程式碼一律會產生安全性風險。 有時可以操作,代表沒有存取資源許可權的惡意程式碼執行動作。 如此一來,惡意程式碼可以達到比允許更高的安全性存取。
Common Language Runtime 透過在所有呼叫上執行堆疊逐步解說,協助保護 Managed 程式碼免于遭受這些攻擊。 堆疊逐步解說需要呼叫堆疊中的所有程式碼都有存取受保護資源的許可權。 因為嘗試攻擊的程式碼一律會位於呼叫堆疊中的某處,所以無法超過它自己的安全性許可權。
方法
Assert() |
已淘汰.
即使堆疊中較高的呼叫端未獲得資源存取權限,呼叫程式碼仍可以存取目前權限物件所識別之資源的判斷提示。 |
Demand() |
已淘汰.
判斷執行階段期間呼叫堆疊中的所有呼叫端,是否已獲得目前權限物件所指定的權限。 |
Deny() |
已淘汰.
導致透過呼叫程式碼傳遞之目前物件的每一個 Demand() 都失敗。 |
PermitOnly() |
已淘汰.
會導致除通過呼叫程式碼的現有物件以外的所有物件的每一個 Demand() 都會失敗,即使在呼叫堆疊中較高的程式碼獲得存取其他資源的權限。 |