共用方式為


角色管理提供者

更新:2007 年 11 月

角色管理服務會使用提供者模型,將角色管理功能 (API) 與包含角色資訊的資料存放區區分開來。.NET Framework 包含下列提供者來維護不同資料存放區中的角色資訊:

  • SQL Server。角色資訊儲存在 SQL Server 資料庫中。SQL 提供者適用於中型到大型網際網路應用程式。這是預設提供者。

  • Windows (WindowsToken)。角色資訊根據 Windows 帳戶 (使用者和群組)。只有在應用程式於網路上執行時,且所有使用者在該網路具有網域帳戶,Windows 提供者才會有幫助。

  • 授權管理員 (AzMan)。使用 Authorization Manager XML 檔或目錄架構的原則存放區,可管理角色資訊。

在應用程式的 Web.config 檔中設定角色管理時,您可以設定 defaultProvider 屬性來指定提供者。例如,若要指定名稱為 "SQL" 的角色提供者執行個體,請在設定檔的 roleManager 項目 (ASP.NET 設定結構描述) 中進行下列項目:

<roleManager 
   defaultProvider="SQL"enabled="true" 
   cacheRolesInCookie="true" >
</roleManager>

角色可以使用成員資格服務和使用者設定檔所用的同一個資料庫。不過,您仍有選項可為這些服務的每一項服務指定不同的提供者。如需設定角色管理資料庫的詳細資訊,請參閱建立及設定 SQL Server 的應用程式服務資料庫

如果您指定 WindowsTokenRoleProvider 提供者,則也必須將應用程式設定為使用 Windows 驗證,其方法是在 Web.config 檔中使用如下項目:

<authentication mode="Windows" />

WindowsTokenRoleProvider 提供者不支援角色管理 API 的大部分管理功能。例如,如果您使用 WindowsTokenRoleProvider 提供者,則將無法使用角色管理建立群組或將使用者加入至群組。您必須改為在 Windows 中執行這些功能。

自訂角色管理提供者

您也可以建立自訂的角色管理提供者,它可讓您定義自己的儲存體來儲存角色資訊,或使用現有的角色資訊存放區。一般策略就是建立繼承 RoleProvider 抽象類別的類別。RoleProvider 類別會辨識提供者定義的方法 (這些方法實質上同於 Roles 類別中的方法)。

擁有自訂的角色提供者後,您可以設定應用程式來使用該提供者,其方法和設定應用程式來使用 .NET Framework 其中一個內建提供者相同。然後,角色管理系統便會自動叫用您的自訂提供者並呼叫其方法。

如需詳細資訊,請參閱實作角色提供者

請參閱

概念

了解角色管理

角色管理類別

其他資源

保護 ASP.NET 網站