共用方式為


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 例外狀況。 由於提供者依賴基礎驗證管理員運行時間,因此每當AuthorizationStoreRoleProvider物件將方法呼叫轉送至 Authentication Manager 運行時間時,COMException可能會擲回例外狀況。

重要

物件 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)

適用於

另請參閱