共用方式為


保護多層式應用程式中數據的基本案例

本主題提供一些建置組塊案例,說明決定強制執行安全性時所討論的準則。

信任的伺服器案例

  • 資料庫完全信任 COM+ 應用程式,以驗證和授權終端使用者存取資料庫中的數據。
  • 最好是,除了透過應用程式之外,資料庫不受任何存取所保護。
  • COM+ 應用程式會使用角色型安全性來授權使用者。
  • 連線 會在 COM+ 應用程式的身分識別下開啟,而且是完全可共用的。
  • 稽核和記錄可由 COM+ 應用程式完成,或此資訊可由應用程式傳遞至資料庫。

此案例最適合可供可預測類別的使用者存取的數據,這些類別可以封裝在角色中。 例如,只有 “Managers”、“Tellers” 和 “Accountants” 有權存取帳戶。 在中介層中會強制執行每項功能的商業規則。

模擬案例

  • 資料庫會自行對用戶進行驗證和授權,以協助限制資料庫中數據的存取。
  • 每當用戶端存取資料庫時,COM+ 應用程式就會模擬用戶端。
  • 連線 會根據每個呼叫進行,且無法重複使用。

此案例最適合與非常小型使用者類別緊密系結的數據。 例如,每位員工只能存取自己的人事檔案,而每個經理只能存取其報表的人員檔案。

混合式案例

上述兩種案例的組合,其中模擬只有在需要時才使用。

此案例最適合您有混合式用戶數據關聯性的情況。 例如,您有「經理」、「出納者」、「會計」和數千個可存取自己帳戶的個別 Web 用戶端。 您可以透過應用程式來分隔邏輯路徑,可能具有個別元件,以處理後者的用戶類別,特別是那些使用者的效能假設不同之處。

使用 Microsoft SQL Server 角色的信任案例

  • Microsoft SQL Server 7.0 和更新版本可以使用角色來授權存取特定數據列,但信任 COM+ 應用程式來驗證和授權使用者,並將其對應至資料庫中的正確角色。
  • COM+ 應用程式會使用角色型安全性來授權使用者,而應用程式角色對應至資料庫角色。
  • 您可以開啟特定資料庫角色特定的 連線。 如果這些連線是由 COM+ 應用程式中的集區物件所保存,則可以重複使用這些連線。 如需如何執行這項操作的詳細資訊,請參閱 COM+ 對象共用
  • 稽核和記錄可由 COM+ 應用程式完成,或這項資訊可由應用程式傳入資料庫。

此案例最適合與第一個受信任伺服器案例中相同的使用者和數據類型,因為 COM+ 應用程式仍受到大部分信任,無法正確處理授權。 不過,它確實有助於保護資料庫免於未經授權的存取,同時允許從 COM+ 應用程式外部的多個來源進行存取,而不會產生模擬案例中存在的調整和效能處罰。

決定強制執行安全性的位置

多層式應用程式安全性