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 引發的例外狀況。 由於提供者依賴基礎 Authentication Manager 執行時間,每當物件將方法呼叫轉送至 Authentication Manager 執行時間時 AuthorizationStoreRoleProvider , 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) |
適用於
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應