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 類別,從現有的角色服務擷取角色資訊。 設定之後,您可以呼叫 static
Thread.CurrentPrincipal 屬性所傳回之 IPrincipal 的 IsInRole 方法,判斷已驗證的使用者是否處於特定角色。 針對設定為使用用戶端應用程式服務的應用程式,此屬性會傳回 ClientRolePrincipal。 因為這個類別會實作 IPrincipal 介面,所以您不需要明確地參考它。
ClientRolePrincipal.IsInRole 方法會在內部呼叫 ClientRoleProvider.IsUserInRole 方法。
ClientRoleProvider 類別是唯讀角色成員資格提供者,可從 ServiceUri 屬性所指示的角色服務中擷取已驗證使用者的角色資訊。 ServiceUri 屬性的值通常會與其他組態值一起從應用程式組態檔擷取。
您可以透過 static
Roles.Provider 屬性擷取目前 ClientRoleProvider 實例。
ClientRoleProvider 類別僅支援 RoleProvider 抽象類的 GetRolesForUser 和 IsUserInRole 方法。 當您針對特定使用者呼叫其中一種方法時,服務提供者會先檢查本機數據快取中是否有角色資訊。 如果快取未包含任何角色資訊或快取已過期,服務提供者會從角色服務擷取角色資訊,並將它新增至快取。
您可以在設定用戶端應用程式服務時,指定角色快取的逾時期間。 若要強制 GetRolesForUser 方法從服務擷取角色數據,而不是本機快取,請先呼叫 ResetCache 方法。
您無法使用 ClientRoleProvider 類別來建立或刪除角色,或修改使用者的角色成員資格。 若要建立或修改角色資訊,您必須變更伺服器上的角色服務組態。
建構函式
ClientRoleProvider() |
初始化 ClientRoleProvider 類別的新實例。 |
屬性
ApplicationName |
這個類別不會使用這個屬性。 |
Description |
取得簡短且易記的描述,適合顯示在系統管理工具或其他使用者介面中。 (繼承來源 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) |