逐步解說:在 Office 方案中授與及移除使用權限 (2003 系統)
更新:2007 年 11 月
適用於 |
---|
本主題中的資訊僅適用於指定的 Visual Studio Tools for Office 專案和 Microsoft Office 版本。 專案類型
Microsoft Office 版本
如需詳細資訊,請參閱依應用程式和專案類型提供的功能。 |
本逐步解說將示範 Visual Studio Tools for Office 中安全性的基本概念。
此逐步解說會說明以下工作:
移除預設安全性設定
加入一組新的使用權限
必要條件
您需要下列元件才能完成此逐步解說:
Visual Studio Tools for Office (Visual Studio 2008 Professional 和 Visual Studio Team System 的選擇性元件)。
Microsoft Office Excel 2003
建立專案
在這個步驟中,會建立一個 [Excel 活頁簿] 專案。
若要建立新的專案
使用 Office 2003 的專案範本建立 [Excel 文件] 專案,並命名為 My Security Test。
本逐步解說中的步驟會假設您將專案儲存至 C:\Walkthroughs。在精靈中選取 [建立新文件]。如需詳細資訊,請參閱 HOW TO:建立 Visual Studio Tools for Office 專案。
Visual Studio 會在設計工具中開啟新的 Excel 活頁簿,並將 My Security Test 專案加入至 [方案總管]。
加入工作表的後置程式碼
此專案需要一些程式碼,您才能執行以測試安全性是否已正確設定。在本逐步解說中,請將訊息方塊加入至工作表的初始化事件中。
若要將訊息方塊加入至初始化事件
驗證 [My Security Test.xls] 活頁簿在 Visual Studio 設計工具中已開啟,並顯示 Sheet1。
在 [方案總管] 中,在 [Sheet1.vb] 或 [Sheet1.cs] 上按一下滑鼠右鍵,再按快速鍵功能表上的 [檢視程式碼]。
將下列程式碼加入至 Sheet1 類別內的 Startup 方法,以在初始化期間顯示訊息方塊。
Private Sub Sheet1_Startup(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Me.Startup MessageBox.Show("Security settings are correct.") End Sub
private void Sheet1_Startup(object sender, System.EventArgs e) { MessageBox.Show("Security settings are correct."); }
按 F5 執行專案。
Excel 隨即啟動且訊息方塊便會出現。
關閉訊息方塊。
關閉 Excel。
在 Visual Studio 設計工具中,尋找並選取 [My Security Test.xls] 的索引標籤。
在 Visual Studio 設計工具中關閉 [My Security Test.xls] (Excel 工作表設計介面)。
您必須關閉所有開啟的 Excel 執行個體後,才能變更安全性原則。
在建置 Excel 活頁簿專案時,精靈會在使用者層級,將新的安全性程式碼群組和子程式碼群組加入至安全性原則。
接下來,移除精靈所建立的程式碼群組。
移除預設程式碼群組
尋找並移除建立的預設程式碼群組。
若要移除程式碼群組
在 [控制台] 中,開啟 [系統管理工具]。
執行 [Microsoft .NET Framework 2.0 組態]。
[Microsoft .NET Framework 2.0 組態] 工具未隨附於 Visual Studio 2008 中。您可以從 Microsoft 下載中心下載並安裝此工具做為 .NET Framework 2.0 SDK 的一部分。如需範例,請參閱 .NET Framework 2.0 軟體開發套件 (SDK) (x86)。
在樹狀檢視窗格中,依序展開 [.NET Framework 2.0 組態]、[我的電腦]、[執行階段安全性原則]、[使用者]、[程式碼群組]、[All_Code] 和 [VSTOProjects]。
您所建立的每個專案都有一個 GUID。展開每個 GUID,以查看相關聯文件的路徑。
以滑鼠右鍵按一下 [C:\Walkthroughs\My Security Test\My Security Test\bin\My Security Test.xls] 程式碼群組的 GUID,再按一下快速鍵功能表中的 [刪除]。
對話方塊隨即出現,詢問您是否確定要刪除這個程式碼群組。
按一下 [是]。
回到 Visual Studio,然後按 F5 執行 My Security Test 專案。
錯誤訊息隨即出現,說明目前的 .NET 安全性原則不允許該自訂執行。
按一下 [確定]。
關閉 Excel。
如果組件在 Microsoft .NET Framework 安全性原則中沒有明確的使用權限,則該組件無法執行。
接下來,使用強式名稱而非辨識項的 URL 對組件授與使用權限。
為組件提供強式名稱
強式名稱一般比做為辨識項的 URL 更安全。您可以在 Visual Studio 中建立強式名稱並將其指派給組件。
若要建立強式名稱
在 Visual Studio 的 [專案] 功能表上,按一下 [My Security Test Properties]。
按一下 [簽署] 索引標籤。
選取 [組件簽署]。
在 [選擇強式名稱金鑰檔] 清單中,按一下 [新增]。
在 [建立強式名稱金鑰] 對話方塊的 [金鑰檔名稱] 方塊中,輸入 SecurityTestKey。
清除 [以密碼保護我的金鑰檔] 核取方塊。
按一下 [確定]。
金鑰檔 [SecurityTestKey.snk] 隨即會出現在 [方案總管] 中。
在 [建置] 功能表上,按一下 [建置方案],以針對強式名稱金鑰組建置組件。
注意事項: |
---|
維持金鑰檔的安全非常重要。一般情況下,您應該使用密碼保護金鑰,也應該採取相關措施,避免未經授權的人員取得該檔案的存取權。金鑰檔是許多信任決策的基礎。您只能將金鑰檔提供給值得信賴又有責任感的人。如果惡意使用者取得您的金鑰檔並找到密碼,該使用者就可以建立看起來像是您撰寫的惡意組件。 |
根據強式名稱授與信任
現在加入新程式碼群組,以根據強式名稱對組件授與完全信任。
若要根據強式名稱授與信任
重新開啟 [Microsoft .NET Framework 2.0 組態]。
在 [VSTOProjects] 節點上按一下滑鼠右鍵,再按一下快速鍵功能表上的 [新增]。
輸入 [安全性測試強式名稱] 做為新程式碼群組的名稱,然後按一下 [下一步]。
在 [選擇這個程式碼群組的條件類型] 清單中,按一下 [強式名稱]。
按一下 [匯入]。
瀏覽至 C:\Walkthroughs\My Security Test\My Security Test\bin\My Security Test.dll (針對 Visual Basic) 或 C:\Walkthroughs\My Security Test\My Security Test\bin\debug\My Security Test.dll (針對 C#),然後按一下 [開啟]。
按一下 [下一步]。
按一下 [下一步],接受 [FullTrust] 使用權限集合,再按一下 [完成]。
關閉 [Microsoft .NET Framework 2.0 組態]。
測試應用程式
現在您可以測試專案,以確保開啟活頁簿時,程式碼會執行。
若要測試您的活頁簿
請按 F5 執行您的專案。
確認訊息方塊是否會出現。
請參閱
工作
HOW TO:將使用權限授與資料夾和組件 (2003 系統)
HOW TO:從資料夾和組件移除使用權限 (2003 系統)