設計安全性
您針對安全性的端對端策略顯然取決於您正在開發的分散式應用程式類型。 以下是處理中介層應用程式邏輯安全性的數個建議:
- 為了提高效率和效能,請盡可能接近用戶進行驗證。 如果您的應用程式牽涉到瀏覽器對商業規則對資料庫架構,請考慮將瀏覽器用戶端對應至網域身分識別、在每個應用程式特定的身分識別下執行 COM+ 應用程式,並將數據層中的數據表設定為只能由特定應用程式身分識別存取。 此信任的伺服器案例比使用 DBMS 進行驗證更可調整且較不成問題。
- 如果您要設計將用於使用角色型安全性之分散式應用程式中的元件,您可以使用 COM+ 安全性 功能。 這項功能可讓您呼叫 IObjectContext::IsCallerInRole 和 IObjectContext::IsSecurityEnabled 等方法,協助保護程式代碼區塊免於未經授權的存取。 您也可以使用安全性呼叫內容來取得物件呼叫端的相關信息。
- 如果您要設計在分散式應用程式中使用且不使用角色型安全性的元件,則只會在進程層級自動檢查安全性。 進程訪問許可權會決定誰獲得應用程式存取權。 如果您需要更精細地控制程式或介面層級的安全性設定,請使用 COM 所提供的程式設計安全性功能。
- 如果使用 COM+ 程式設計安全性的元件是在未整合至 COM+ 應用程式的情況下執行,則會擲回例外狀況。 因此,如果您想要讓這類元件成功整合到不屬於 COM+ 環境的應用程式,您必須適當地處理所有例外狀況。
相關主題