次の方法で共有


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 の注釈は使われず、エラーが発生します。 開発者は、代わりの手段を見つけてセキュリティ タスクを実現する必要があります。

部分的に信頼されたコードでは、常にセキュリティ リスクが発生します。 リソースにアクセスするアクセス許可を持たない悪意のあるコードに代わってアクションを実行するように操作される場合があります。 このように、悪意のあるコードは、許可する必要があるよりも高いセキュリティ アクセスを実現できます。

共通言語ランタイムは、すべての呼び出しでスタック ウォークを実行することで、これらの攻撃からマネージド コードを保護するのに役立ちます。 スタック ウォークでは、呼び出し履歴内のすべてのコードに、保護されたリソースにアクセスするためのアクセス許可が必要です。 攻撃を試みるコードは常に呼び出し履歴のどこかにあるため、独自のセキュリティ アクセス許可を超えることはできません。

メソッド

Assert()
古い.

スタック内の上位の呼び出し元がリソースへのアクセス許可を付与されていない場合であっても、呼び出し元のコードが現在のアクセス許可で識別されるリソースにアクセスできることをアサートします。

Demand()
古い.

呼び出し履歴のすべての呼び出し元に、現在のアクセス許可オブジェクトで指定されたアクセス許可が付与されているかどうかを判断します。

Deny()
古い.

呼び出し元のコードを通過する現在のオブジェクトのすべての Demand() が失敗します。

PermitOnly()
古い.

呼び出し側コードによってパススルーされる現在のものを除き、全オブジェクトのあらゆる Demand() を失敗させます。これは、呼び出しスタックの上位にあるコードに対して他のリソースにアクセスするためのアクセス権限が付与されている場合にも当てはまります。

適用対象