AuthorizationStoreRoleProvider 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
管理授權管理員原則存放區中 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
- 繼承
範例
下列程式代碼範例顯示用於角色管理的 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) |