SecurityContext クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
スレッド間で転送される実行コンテキストのすべてのセキュリティ関連データをカプセル化して伝達します。 このクラスは継承できません。
public ref class SecurityContext sealed
public ref class SecurityContext sealed : IDisposable
public sealed class SecurityContext
public sealed class SecurityContext : IDisposable
type SecurityContext = class
type SecurityContext = class
interface IDisposable
Public NotInheritable Class SecurityContext
Public NotInheritable Class SecurityContext
Implements IDisposable
- 継承
-
SecurityContext
- 実装
注釈
Caution
コード アクセス セキュリティ (CAS) は、.NET Framework と .NET のすべてのバージョンで非推奨になりました。 最近のバージョンの .NET では、CAS に関連する API が使用されている場合、CAS 注釈は使用されず、エラーが発生します。 開発者は、セキュリティ タスクを実行するための代替手段を求める必要があります。
Note
この型は、.NET 6 以降では古い形式としてマークされています。
SecurityContext オブジェクトは、WindowsIdentityおよびCompressedStack オブジェクトに含まれる情報を含む、論理スレッドのすべてのセキュリティ関連の情報をキャプチャします。 この構成により、 SecurityContext がコピーされ、非同期スレッド間で転送されるときに、スタック上の Windows ID とセキュリティ要素が自動的に伝達されます。
Note
共通言語ランタイム (CLR) は、マネージド コードのみを使用して実行される偽装操作を認識します。プラットフォームからアンマネージド コードへの呼び出しや Win32 関数への直接呼び出しなど、マネージド コードの外部で実行される偽装は認識されません。
WindowsIdentity要素が alwaysFlowImpersonationPolicy (true) に設定されていない限り、マネージド <alwaysFlowImpersonationPolicy enabled="true"/> オブジェクトのみが非同期ポイント間でフローできます。
alwaysFlowImpersonationPolicy 要素を true に設定すると、偽装の実行方法に関係なく、Windows ID が常に非同期ポイント間を流れます。 非同期ポイント間でアンマネージ 偽装をフローする方法の詳細については、「 <alwaysFlowImpersonationPolicy> 要素」を参照してください。
SecurityContextは、より大きなExecutionContextの一部であり、ExecutionContextがフローまたは移行されるときにフローまたは移行されます。
Important
この型は、IDisposable インターフェイスを実装します。 型の使用が完了したら、直接または間接的に破棄する必要があります。 型を直接破棄するには、Disposetry/ ブロックでその catch メソッドを呼び出します。 間接的に破棄するには、using (C#) や Using (Visual Basic) などの言語コンストラクトを使用します。 詳細については、 IDisposable インターフェイスのトピックの「IDisposable を実装するオブジェクトの使用」セクションを参照してください。
メソッド
| 名前 | 説明 |
|---|---|
| Capture() |
現在のスレッドのセキュリティ コンテキストをキャプチャします。 |
| CreateCopy() |
現在のセキュリティ コンテキストのコピーを作成します。 |
| Dispose() |
SecurityContext クラスの現在のインスタンスで使用されているすべてのリソースを解放します。 |
| Equals(Object) |
指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
| GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
| GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
| IsFlowSuppressed() |
セキュリティ コンテキストのフローが抑制されているかどうかを判断します。 |
| IsWindowsIdentityFlowSuppressed() |
現在のセキュリティ コンテキストのWindows ID 部分のフローが抑制されているかどうかを判断します。 |
| MemberwiseClone() |
現在の Objectの簡易コピーを作成します。 (継承元 Object) |
| RestoreFlow() |
非同期スレッド間のセキュリティ コンテキストのフローを復元します。 |
| Run(SecurityContext, ContextCallback, Object) |
現在のスレッドで、指定したセキュリティ コンテキストで指定されたメソッドを実行します。 |
| SuppressFlow() |
非同期スレッド間のセキュリティ コンテキストのフローを抑制します。 |
| SuppressFlowWindowsIdentity() |
非同期スレッド間の現在のセキュリティ コンテキストのWindows ID 部分のフローを抑制します。 |
| ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |