首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

Enterprise Library 2.0 Hands On Lab 翻譯(8):例外處理應用程式區塊(二)

     編輯:關於ASP.NET

練習 2:例外處理策略

學習使用例外處理區塊的包裝策略,處理含敏感資訊的例外。

步驟 1:開啟專案

開啟 Puzzler2.sln,預設路徑 C:\Program Files\Microsoft Enterprise Library January 2006\labs\cs\Exception Handling\exercises\ex02,編譯。

步驟 2:保護服務中 Add Word 方法的程式碼存取安全

  1. 開啟專案 PuzzlerService 中的 Dictionary.cs,為 AddWord 方法加上程式碼存取安全屬性:
[PrincipalPermission(SecurityAction.Demand, Role = "Grand PoohBah")]
public static Boolean AddWord(string wordToAdd)
{
    if (!IsWord(wordToAdd))
    {
        throw new ApplicationException("Word to add does not consist of alphabetic letters");
    }
    if (Dict[wordToAdd] == null)
        Dict.Add(wordToAdd, wordToAdd);
    return true;
}

注意:修改的是 Dictionary.cs 而非 DictionaryService.cs。現只有 Grand PoohBah 角色可執行此方法。

  1. 執行應用程式,在 Word to check 輸入數字並點擊 Add Word。觸發服務端 SecurityException,事件檢視器可見
  2. SecurityException 錯誤

  3. 關閉應用程式

問題:SecurityException 從服務端傳至用戶端,包含敏感資訊助長攻擊。應在服務端記錄例外,僅傳送最少資訊至用戶端。後續練習將示範使用例外處理區塊解決此問題。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved