CodeAccessPermission.PermitOnly メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > CodeAccessPermission.PermitOnly メソッドの意味・解説 

CodeAccessPermission.PermitOnly メソッド

コール スタックの上位の呼び出し元が、このメソッドを呼び出すコードを使用して、現在のインスタンスによって指定されるリソース以外のすべてのリソースにアクセスできないようにします。

名前空間: System.Security
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Dim instance As CodeAccessPermission

instance.PermitOnly
public void PermitOnly ()
public final void PermitOnly ()
例外例外
解説解説

PermitOnly は、通常は成功するスタック ウォークが失敗する原因となる点で、Deny に似ています。両者の相違点は、Deny はスタック ウォークが失敗する原因となるアクセス許可を指定するのに対し、PermitOnly はスタック ウォークが失敗する原因とはならないアクセス許可だけを指定することです。

このメソッドを呼び出すと、コードを使用してアクセスできるリソースが、指定されたリソースだけになります。PermitOnly の呼び出しは、呼び出しコードがその呼び出し元に返されるまで有効です。フレームあたり 1 つの PermitOnly だけをアクティブにできます。フレームにアクティブな PermitOnly が存在する場合に PermitOnly を呼び出そうとすると、SecurityException が発生します。アクティブな PermitOnly を削除するには、RevertPermitOnly または RevertAll を呼び出します。

与えられていないアクセス許可を要求しても失敗するため、そのようなアクセス許可に対して PermitOnly を呼び出しても無視されます。しかし、コール スタック内の下位にあるコードがそのアクセス許可に対して Demand を呼び出すと、PermitOnly の呼び出しを試行するコードにスタック ウォークが達したときに、SecurityException がスローされます。これは、コードがアクセス許可に対して PermitOnly を呼び出そうとしても、PermitOnly を呼び出したコードにそのアクセス許可が与えられていないために発生しますコール スタック内で上位にあるメソッドが下位にあるメソッドを呼び出すことができるように、通常コール スタックは、下方向に影響力を持つものとして表現されます。

継承時の注意 このメソッドはオーバーライドできません。

使用例使用例

PermitOnly メソッドを使用して、現在のインスタンスで指定されたリソース以外のすべてのリソースに対するアクセスを制限する方法を次のコード例に示します。次のコード例は RevertAll メソッドの例の一部です。

' Grant access only to OwnClipboard.
Console.WriteLine("Granting permission only for OwnClipboard access.")
clipboardPermission.PermitOnly()
DemandAllClipboardAccess()
' Revert the PermitOnly with a call to RevertPermitOnly.
Console.WriteLine("Reverting the PermitOnly.")
CodeAccessPermission.RevertPermitOnly()
DemandAllClipboardAccess()
// Grant access only to OwnClipboard.
Console.WriteLine("Granting permission only for OwnClipboard
 access.");
clipboardPermission.PermitOnly();
DemandAllClipboardAccess();
// Revert the PermitOnly with a call to RevertPermitOnly.
Console.WriteLine("Reverting the PermitOnly.");
CodeAccessPermission.RevertPermitOnly();
DemandAllClipboardAccess();
// Grant access only to OwnClipboard.
Console::WriteLine( L"Granting permission only for OwnClipboard
 access." );
clipboardPermission->PermitOnly();
DemandAllClipboardAccess();

// Revert the PermitOnly with a call to RevertPermitOnly.
Console::WriteLine( L"Reverting the PermitOnly." );
CodeAccessPermission::RevertPermitOnly();
DemandAllClipboardAccess();
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

CodeAccessPermission.PermitOnly メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



CodeAccessPermission.PermitOnly メソッドのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS