ClientRoleProvider Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ottiene informazioni sui ruoli per le applicazioni basate su Windows da un servizio ruoli Microsoft Ajax.
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
- Ereditarietà
Esempio
Nel codice di esempio seguente viene illustrato come utilizzare questa proprietà per impostare a livello di codice il percorso del servizio ruoli.
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
Commenti
È possibile usare i servizi dell'applicazione client per recuperare informazioni sui ruoli da un servizio ruoli esistente configurando l'applicazione per l'uso della classe ClientRoleProvider. Dopo la configurazione, è possibile determinare se un utente autenticato si trova in un determinato ruolo chiamando il metodo IsInRole del IPrincipal restituito dalla proprietà static
Thread.CurrentPrincipal. Per le applicazioni configurate per l'uso dei servizi dell'applicazione client, questa proprietà restituisce un ClientRolePrincipal. Poiché questa classe implementa l'interfaccia IPrincipal, non è necessario farvi riferimento in modo esplicito. Il metodo ClientRolePrincipal.IsInRole chiama internamente il metodo ClientRoleProvider.IsUserInRole.
La classe ClientRoleProvider è un provider di appartenenze ai ruoli di sola lettura che recupera le informazioni sui ruoli per gli utenti autenticati dal servizio ruoli indicato dalla proprietà ServiceUri. Il valore della proprietà ServiceUri viene in genere recuperato dal file di configurazione dell'applicazione insieme ad altri valori di configurazione.
È possibile recuperare l'istanza di ClientRoleProvider corrente tramite la proprietà static
Roles.Provider.
La classe ClientRoleProvider supporta solo i metodi GetRolesForUser e IsUserInRole della classe astratta RoleProvider. Quando si chiama uno di questi metodi per un determinato utente, il provider di servizi controlla innanzitutto la cache dei dati locale per le informazioni sul ruolo. Se la cache non contiene informazioni sul ruolo o la cache è scaduta, il provider di servizi recupera le informazioni sul ruolo dal servizio ruoli e lo aggiunge alla cache.
È possibile specificare il periodo di timeout per la cache dei ruoli quando si configurano i servizi dell'applicazione client. Per forzare il metodo GetRolesForUser a recuperare i dati del ruolo dal servizio anziché dalla cache locale, chiamare prima il metodo ResetCache.
Non è possibile utilizzare la classe ClientRoleProvider per creare o eliminare ruoli o per modificare l'appartenenza al ruolo degli utenti. Per creare o modificare le informazioni sul ruolo, è necessario modificare la configurazione del servizio ruolo nel server.
Costruttori
ClientRoleProvider() |
Inizializza una nuova istanza della classe ClientRoleProvider. |
Proprietà
ApplicationName |
Questa proprietà non viene utilizzata da questa classe. |
Description |
Ottiene una breve descrizione descrittiva adatta per la visualizzazione negli strumenti di amministrazione o in altre interfacce utente. (Ereditato da ProviderBase) |
Name |
Ottiene il nome descrittivo utilizzato per fare riferimento al provider durante la configurazione. (Ereditato da ProviderBase) |
ServiceUri |
Ottiene o imposta l'URI del servizio ruolo. |
Metodi
AddUsersToRoles(String[], String[]) |
Questo metodo non viene utilizzato da questa classe. |
CreateRole(String) |
Questo metodo non viene utilizzato da questa classe. |
DeleteRole(String, Boolean) |
Questo metodo non viene utilizzato da questa classe. |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
FindUsersInRole(String, String) |
Questo metodo non viene utilizzato da questa classe. |
GetAllRoles() |
Questo metodo non viene utilizzato da questa classe. |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetRolesForUser(String) |
Ottiene i nomi dei ruoli a cui appartiene l'utente specificato. |
GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
GetUsersInRole(String) |
Questo metodo non viene utilizzato da questa classe. |
Initialize(String, NameValueCollection) |
Inizializza il provider. |
IsUserInRole(String, String) |
Ottiene un valore che indica se l'utente specificato si trova nel ruolo specificato. |
MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
RemoveUsersFromRoles(String[], String[]) |
Questo metodo non viene utilizzato da questa classe. |
ResetCache() |
Cancella le informazioni sul ruolo memorizzate nella cache e reimposta il periodo di timeout della cache. |
RoleExists(String) |
Questo metodo non viene utilizzato da questa classe. |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |