コード アクセス セキュリティの技術サンプル
更新 : 2007 年 11 月
このサンプルでは、メソッド呼び出しでのリソースへのアクセスを許可したり拒否したりする機構であるコード アクセス セキュリティの例を示します。たとえば、Microsoft が作成したコードからのディスクへの書き込みを許可し、別の企業により作成されたコードからのディスクへのアクセスを拒否できます。この制御は、両方のコードが同じアプリケーションで使用されていても適用されます。このサンプルでは、ディスク ファイルや環境変数へのアクセスが繰り返し試行されます。各アクセスの前にコード アクセス許可が変更されるので、その効果を確認できます。コード アクセス セキュリティの詳細については、ソース コード ファイルのコメントを参照してください。
このサンプルの使用については、次のトピックを参照してください。
コマンド プロンプトを使用してサンプルをビルドするには
コマンド プロンプトで、CAS ディレクトリの使用言語に対応したサブディレクトリに移動します。
使用するプログラミング言語に応じて、「msbuild PermissionsCS.sln」または「msbuild PermissionsVB.sln」と入力します。たとえば、ディレクトリ C:\Documents and Settings\Your User Name\My Documents\Samples\Technologies\CAS\VB で、コマンド ラインから「msbuild.exe PermissionsVB.sln」と入力して、Visual Basic バージョンをビルドします。
Visual Studio を使用してサンプルをビルドするには
Windows エクスプローラを開き、CAS ディレクトリの使用言語に対応するサブディレクトリに移動します。
使用するプログラミング言語に応じて、PermissionsCS.sln または PermssionsVB.sln のアイコンをダブルクリックして、ファイルを Visual Studio 2005 で開きます。
[ビルド] メニューの [ソリューションのビルド] をクリックします。
サンプル アプリケーションは、既定の \bin ディレクトリまたは \bin\Debug サブディレクトリに作成されます。
サンプルを実行するには
コマンド プロンプト ウィンドウで、新しい実行可能ファイルが格納されているディレクトリに移動します。
コマンド ラインで「Permissions.exe」と入力します。
メモ : |
---|
このサンプルでは、コンソール アプリケーションをビルドします。出力を表示するには、これをコマンド プロンプト ウィンドウで実行する必要があります。 |
必要条件
.NET Framework のバージョン : 2.0、1.1
解説
このサンプルで使用されているクラスおよび技術は次のとおりです。
セキュリティ
PermissionSet - 一連のアクセス許可を管理し、スタックでアクセス許可のアサートおよび拒否を行います。
CodeAccessPermission - これに含まれている静的メソッド RevertDeny および RevertAssert を使用して、Assert 関数と Deny 関数の効果を反転させます。
FileIOPermission - 読み取りや書き込みなどのファイル システム要求のアクセス許可を管理します。
EnvironmentPermission - 環境変数へのアクセス許可を管理します。
入出力
FileStream- サンプルでファイルのオープン、読み取り、および書き込みを行います。
Path- ファイルの完全パスを取得します。システムはファイルの完全パスを使用したセキュリティを基盤とするため、この機能は FileIOPermissions を使用する際に特に重要です。
環境変数
- Environment- プロセスの環境変数を読み取ります。