AuthorizationStoreRoleProvider 類別

定義

管理授權管理員原則存放區中 ASP.NET 應用程式的角色成員資格資訊儲存區,位於 XML 檔案、Active Directory 或 Active Directory 應用程式模式伺服器之中。

public ref class AuthorizationStoreRoleProvider : System::Web::Security::RoleProvider
public class AuthorizationStoreRoleProvider : System.Web.Security.RoleProvider
type AuthorizationStoreRoleProvider = class
    inherit RoleProvider
Public Class AuthorizationStoreRoleProvider
Inherits RoleProvider
繼承
AuthorizationStoreRoleProvider

範例

下列程式碼範例示範Web.config檔案集,以用於 AuthorizationStoreRoleProvider 角色管理。

<configuration>  
  <connectionStrings>  
    <add name="AuthorizationServices" connectionString="msxml://~\App_Data\SampleStore.xml" />  
  </connectionStrings>  

  <system.web>  

    <authentication mode="Windows" />  
    <identity impersonate="true" />  

    <roleManager defaultProvider="AuthorizationStoreRoleProvider"   
      enabled="true"  
      cacheRolesInCookie="true"  
      cookieName=".ASPROLES"  
      cookieTimeout="30"  
      cookiePath="/"  
      cookieRequireSSL="false"  
      cookieSlidingExpiration="true"  
      cookieProtection="All" >  
      <providers>  
        <clear />  
          <add  
            name="AuthorizationStoreRoleProvider"  
            type="System.Web.Security.AuthorizationStoreRoleProvider"  
            connectionStringName="AuthorizationServices"  
            applicationName="SampleApplication"   
            cacheRefreshInterval="60"  
            scopeName="" />  
      </providers>  
    </roleManager>  

  </system.web>  
</configuration>  

備註

RolePrincipal 類別會使用此 Roles 類別,以使用 authorization-manager 存放區為 ASP.NET 應用程式提供角色管理服務。 您可以使用角色管理來指定應用程式的不同授權層級。 您可以使用 Microsoft Management Console 來存取授權管理員。

物件 AuthorizationStoreRoleProvider 適用于Windows 驗證和表單驗證模式。

您可以將 物件設定 AuthorizationStoreRoleProvider 為使用本機 XML 檔案或 Active Directory 或 Active Directory 應用程式模式, (ADAM) 伺服器。 使用本機檔案時,連接字串看起來應該如下列範例所示。

msxml://<path to xml file>  

如果本機檔案儲存在 ASP.NET Web 應用程式的目錄樹狀結構中,您可以使用磚 (「~」) 字元來表示根目錄。 例如,若要指出本機檔案儲存在 Web 應用程式的資料目錄中,您會使用類似下列範例的連接字串。

msxml://~\App_Data\datafilename.xml

重要

將 XML 資料檔案儲存在 Web 應用程式目錄中是潛在的安全性威脅。 根據預設,IIS 會將 XML 資料檔案提供給 Web。 若要改善在 ASP.NET 應用程式中使用本機資料檔案時的安全性,您應該將資料檔案儲存在 App_Data 目錄中。 儲存在目錄中的 App_Data 檔案將不會提供給 Web。

如果您針對原則存放區使用 Active Directory 或 ADAM 伺服器,您的連接字串應該類似下列範例。

msldap://myserver/CN=MyAzManStore,OU=MyOU,DC=MyDomain,DC=MyDC,DC=Com

物件方法檔中 AuthorizationStoreRoleProvider 所列的例外狀況是 物件所 AuthorizationStoreRoleProvider 引發的例外狀況。 由於提供者依賴基礎 Authentication Manager 執行時間,每當物件將方法呼叫轉送至 Authentication Manager 執行時間時 AuthorizationStoreRoleProviderCOMException 可能會擲回例外狀況。

重要

物件 AuthorizationStoreRoleProvider 具有下列在部分信任環境中執行的需求:

在 ASP.NET 應用程式中使用檔案型原則存放區時,目前信任層級授與的檔案 I/O 許可權會判斷提供者是否允許讀取和寫入動作。 ASP.NET 應用程式必須具有檔案的讀取權限,才能從原則存放區讀取資料,而且必須具有寫入權限,才能儲存新資訊或更新原則存放區中的現有資訊。 預設的中信任原則檔案會在其應用程式目錄中提供 ASP.NET 應用程式讀取/寫入權限。 預設的低信任原則檔案只會在其應用程式目錄中提供 ASP.NET 應用程式讀取權限。 此外,執行 ASP.NET 應用程式的進程身分識別必須具有檔案系統許可權,才能讀取和/或寫入原則檔案。

使用 Active Directory 或 ADAM 伺服器時,ASP.NET 應用程式需要 Unmanaged-code 許可權,因為內部 AuthorizationStoreRoleProvider 物件程式碼使用 COM Interop。

在 ASP.NET 外部使用 AuthorizationStoreRoleProvider 物件時,呼叫端程式碼需要 Unmanaged-code 許可權。

建構函式

AuthorizationStoreRoleProvider()

初始化 AuthorizationStoreRoleProvider 類別的新執行個體。

屬性

ApplicationName

取得或設定授權存放應用程式的名稱,要為它存放及擷取角色資訊。

CacheRefreshInterval

取得原則存放區資料快取之重新整理間的分鐘數。

Description

取得簡短、易讀的描述,適合顯示在管理工具或其他使用者介面 (UI) 中。

(繼承來源 ProviderBase)
Name

取得用來在設定期間代表提供者的易記名稱。

(繼承來源 ProviderBase)
ScopeName

取得或設定授權存放區的範圍名稱。

方法

AddUsersToRoles(String[], String[])

將指定使用者加入每個指定的角色。

CreateRole(String)

加入新的角色至角色授權管理員原則存放區。

DeleteRole(String, Boolean)

從授權管理員原則存放區移除角色。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
FindUsersInRole(String, String)

授權存放區角色提供者不支援這個方法。

GetAllRoles()

取得應用程式所有角色的清單。

GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetRolesForUser(String)

取得使用者所屬角色的清單。

GetType()

取得目前執行個體的 Type

(繼承來源 Object)
GetUsersInRole(String)

取得指定角色的使用者清單。

Initialize(String, NameValueCollection)

使用 ASP.NET 應用程式組態檔中指定的屬性值,初始化授權管理員角色提供者。 這個方法不能從程式碼直接使用。

IsUserInRole(String, String)

取得值,指出指定使用者是否在指定的角色中。

MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
RemoveUsersFromRoles(String[], String[])

從指定的角色移除指定的使用者名稱。

RoleExists(String)

取得值,指出授權管理員原則存放區中是否已有指定的角色名稱。

ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

適用於

另請參閱