*
   原稿 (英文)

設計應用程式管理的授權

Patterns and Practices 首頁

相關連結

patterns and practices 索引

作者:Chris Schoon、Doug Rees、Edward Jezierski
Microsoft Corporation

2002 年 12 月



(此文章包含連至英文網頁的連結)

摘要

本指南解說設計及撰寫以 Microsoft® .NET 為架構之單層或多層應用程式的應用程式管理授權程式碼。以通用授權工作與案例為討論重點,並且提供資訊,協助您選擇最佳的方法與技術。本指南是針對設計師與開發人員所需而撰寫的。

文中假設讀者已經具備 Windows 驗證與授權、XML Web Service 及 .NET remoting 等主題的基本知識。有關如何設計分散式 .NET 架構應用程式的詳細資訊,請參閱 MSDN® Library 中的《Designing Applications and Services》。有關如何設計分散式應用程式之安全性的詳細資訊,請參閱 MSDN Library 裡的《建置安全的 ASP.NET 應用程式》。有關通用設計指引的詳細資訊,請參閱 Microsoft MSDN 裡的 .NET Architecture Center

目錄

本指南包含下列各節:

簡介

本指南會說明如何在 .NET 架構應用程式中執行授權。文中會解釋授權一詞,並且討論許多執行授權的機制。本指南也會討論下列主題:

  • 識別與主體等重要概念。
  • 如何使用角色架構安全性,對一組共用安全性權限的使用者進行授權。
  • .NET 與 COM+ 角色架構安全性的重大差異。

您採用的特定授權機制,往往取決於您驗證或確認使用者識別的方式。本指南會探討:

  • Windows 驗證與非 Windows 驗證之間的差異。
  • 這些驗證機制如何影響授權。
  • 如何將識別資訊傳送至遠端應用程式層,以進行授權。

在標準的企業應用程式中,您必須在應用程式的每一層中執行不同類型的授權。為了協助您識別每一層的授權需求,並選擇各種情況下的適當授權策略,本指南會描述使用者介面層、商務層及資料層等的標準授權工作。[圖 1] 強調了企業應用程式每一層中的重要授權問題。

[圖 1] 企業應用程式中每一層所執行的授權

.NET Framework 類別庫提供能夠執行具有 .NET 角色架構安全性的各種介面與類別。本指南會說明:

  • 各種檢查使用者是否屬於特定角色的技術。
  • 如何處理授權錯誤。
  • 在多執行緒 .NET 應用程式中發生的某些授權問題。

您所定義的授權架構可以在多個應用程式中重複使用。本指南最後會討論下列問題:

  • 如何定義可重複使用的授權架構。
  • 如何最佳化這類架構的安全性與效能。
注意    指南討論的是使用 .NET Framework 的應用程式管理的授權。Microsoft Windows® Server 2003 系列作業系統中可以使用 Authorization Manager API 與 Microsoft Management Console (MMC) 嵌入功能,提供應用程式完整的角色架構存取控制架構。Authorization Manager API 也稱為 AzMan,提供管理彈性群組與商務規則,以及儲存授權原則的簡單開發模型。有關其他的詳細資訊,請參閱 MSDN Library 中的《Authorization Interfaces》 與《Authorization Objects》。