ClientRoleProvider 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
從 Microsoft Ajax 角色服務取得 Windows 架構應用程式的角色資訊。
public ref class ClientRoleProvider : System::Web::Security::RoleProvider
public class ClientRoleProvider : System.Web.Security.RoleProvider
type ClientRoleProvider = class
inherit RoleProvider
Public Class ClientRoleProvider
Inherits RoleProvider
- 繼承
範例
下列範例程式碼示範如何使用此屬性,以程式設計方式設定角色服務位置。
private void SetRolesServiceLocation()
{
((ClientRoleProvider)System.Web.Security.Roles.Provider).ServiceUri =
"http://localhost:55555/AppServices/Role_JSON_AppService.axd";
}
Private Sub SetRolesServiceLocation()
CType(System.Web.Security.Roles.Provider, _
ClientRoleProvider).ServiceUri = _
"http://localhost:55555/AppServices/Role_JSON_AppService.axd"
End Sub
備註
您可以使用用戶端應用程式服務,藉由將應用程式設定為使用 ClientRoleProvider 類別,從現有的角色服務擷取角色資訊。 設定之後,您可以藉由呼叫 IsInRole 屬性所 static
Thread.CurrentPrincipal 傳回的 IPrincipal 方法,判斷已驗證的使用者是否為特定角色。 針對設定為使用用戶端應用程式服務的應用程式,這個屬性會傳回 ClientRolePrincipal。 因為這個類別會實作 IPrincipal 介面,所以您不需要明確地參考它。 方法 ClientRolePrincipal.IsInRole 會在內部呼叫 ClientRoleProvider.IsUserInRole 方法。
類別 ClientRoleProvider 是唯讀角色成員資格提供者,可從 屬性所指示 ServiceUri 的角色服務擷取已驗證使用者的角色資訊。 屬性的值 ServiceUri 通常是從應用程式組態檔擷取,以及其他組態值。
您可以透過 static
Roles.Provider 屬性擷取目前的 ClientRoleProvider 實例。
類別 ClientRoleProvider 僅 GetRolesForUser 支援抽象類別的 RoleProvider 和 IsUserInRole 方法。 當您針對特定使用者呼叫其中一種方法時,服務提供者會先檢查本機資料快取中是否有角色資訊。 如果快取未包含任何角色資訊或快取已過期,服務提供者會從角色服務擷取角色資訊,並將它新增至快取。
您可以在設定用戶端應用程式服務時,指定角色快取的逾時期間。 若要強制 GetRolesForUser 方法從服務擷取角色資料,而不是本機快取,請先呼叫 ResetCache 方法。
您無法使用 類別 ClientRoleProvider 來建立或刪除角色,或修改使用者的角色成員資格。 若要建立或修改角色資訊,您必須變更伺服器上的角色服務設定。
建構函式
ClientRoleProvider() |
初始化 ClientRoleProvider 類別的新執行個體。 |
屬性
ApplicationName |
這個屬性不是由這個類別所使用。 |
Description |
取得簡短、易讀的描述,適合顯示在管理工具或其他使用者介面 (UI) 中。 (繼承來源 ProviderBase) |
Name |
取得用來在設定期間代表提供者的易記名稱。 (繼承來源 ProviderBase) |
ServiceUri |
取得或設定角色服務的 URI。 |
方法
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) |
將提供者初始化。 |
IsUserInRole(String, String) |
取得值,指出指定使用者是否在指定的角色中。 |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
RemoveUsersFromRoles(String[], String[]) |
這個類別不會使用這個方法。 |
ResetCache() |
清除快取的角色資訊並重設快取逾時期間。 |
RoleExists(String) |
這個類別不會使用這個方法。 |
ToString() |
傳回代表目前物件的字串。 (繼承來源 Object) |
適用於
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應