程式碼存取安全性技術範例
更新:2007 年 11 月
這個範例會示範程式碼存取的安全性;程式碼存取安全性是一種可以授與或拒絕在方法呼叫內資源存取權限的機制。例如,Microsoft 所撰寫的程式碼可能允許寫入磁碟,但是其他公司的程式碼可能會遭到禁止而無法存取磁碟。即使同一個應用程式中使用了這兩家公司所撰寫的程式碼,仍會強制套用這項控制權。這個範例會不斷嘗試存取磁碟檔案和環境變數。而且在每次嘗試之前,都會變更程式碼的存取權限,好讓使用者觀察每次變更後的結果。如需程式碼存取安全性的詳細資訊,請參閱原始程式碼檔案中的註解。
如需使用這些範例的詳細資訊,請參閱下列主題:
若要使用命令提示字元建置範例
使用命令提示字元,然後巡覽至 CAS 目錄下任一程式設計語言的子目錄。
根據您選擇的程式設計語言,輸入 msbuild PermissionsCS.sln 或 msbuild.exe 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 - 管理一組存取權限,以及對堆疊中存取權限做 Assert 與 Deny 的動作。
CodeAccessPermission - 用於它的 RevertDeny 和 RevertAssert 這兩個靜態方法,這兩種方法會還原 Assert 和 Deny 函式的作用。
FileIOPermission - 管理要建立檔案系統要求 (如讀取和寫入) 的存取權限。
EnvironmentPermission - 管理要存取環境變數的存取權限。
I/O
FileStream - 開啟、讀取及寫入範例中的檔案。
Path - 取得檔案的完整路徑。因為系統安全性必須憑藉檔案的完整路徑來維持,所以這個項目在處理 FileIOPermissions 時特別重要。
環境變數
- Environment- 讀取處理序的環境變數。