ClientRoleProvider Classe

Definição

Obtém informações de funções para aplicações baseadas em Windows a partir de um serviço de funções 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
Herança
ClientRoleProvider

Exemplos

O código de exemplo seguinte demonstra como usar esta propriedade para definir programaticamente a localização do serviço dos papéis.

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

Observações

Pode usar serviços de aplicação cliente para recuperar informação de funções de um serviço de funções existente, configurando a sua aplicação para usar a ClientRoleProvider classe. Após a configuração, pode determinar se um utilizador autenticado está num determinado papel chamando o IsInRole método do IPrincipal devolvido pela staticThread.CurrentPrincipal propriedade. Para aplicações configuradas para usar serviços de aplicação cliente, esta propriedade devolve um ClientRolePrincipal. Como esta classe implementa a IPrincipal interface, não precisas de a referenciar explicitamente. O ClientRolePrincipal.IsInRole método chama internamente o ClientRoleProvider.IsUserInRole método.

A ClientRoleProvider classe é um fornecedor de membros de papéis apenas de leitura que recupera informações de papéis para utilizadores autenticados a partir do serviço de papéis indicado pela ServiceUri propriedade. O valor da ServiceUri propriedade é normalmente recuperado do ficheiro de configuração da aplicação juntamente com outros valores de configuração.

Pode recuperar a instância atual ClientRoleProvider através da staticRoles.Provider propriedade.

A ClientRoleProvider classe suporta apenas os GetRolesForUser métodos e IsUserInRole da RoleProvider classe abstrata. Quando chama um destes métodos para um utilizador em particular, o fornecedor de serviços verifica primeiro a cache local de dados em busca de informações sobre funções. Se a cache não contiver qualquer informação de role ou tiver expirado, o fornecedor de serviço recupera a informação de role do serviço de roles e adiciona-a à cache.

Pode especificar o período de time-out para a cache dos papéis quando configura os serviços de aplicação cliente. Para forçar o GetRolesForUser método a recuperar dados de função do serviço em vez da cache local, chame primeiro o ResetCache método.

Não pode usar a ClientRoleProvider classe para criar ou eliminar papéis, nem para modificar a pertença aos papéis dos utilizadores. Para criar ou modificar a informação do papel, deve alterar a configuração do serviço de função no servidor.

Construtores

Name Description
ClientRoleProvider()

Inicializa uma nova instância da ClientRoleProvider classe.

Propriedades

Name Description
ApplicationName

Esta propriedade não é utilizada por esta classe.

Description

Recebe uma descrição breve e amigável, adequada para exibição em ferramentas administrativas ou outras interfaces de utilizador (UIs).

(Herdado de ProviderBase)
Name

Recebe o nome amigável usado para se referir ao fornecedor durante a configuração.

(Herdado de ProviderBase)
ServiceUri

Obtém ou define o URI do serviço de funções.

Métodos

Name Description
AddUsersToRoles(String[], String[])

Este método não é utilizado por esta classe.

CreateRole(String)

Este método não é utilizado por esta classe.

DeleteRole(String, Boolean)

Este método não é utilizado por esta classe.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
FindUsersInRole(String, String)

Este método não é utilizado por esta classe.

GetAllRoles()

Este método não é utilizado por esta classe.

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetRolesForUser(String)

Obtém os nomes dos papéis a que o utilizador especificado pertence.

GetType()

Obtém o Type da instância atual.

(Herdado de Object)
GetUsersInRole(String)

Este método não é utilizado por esta classe.

Initialize(String, NameValueCollection)

Inicializa o fornecedor.

IsUserInRole(String, String)

Recebe um valor que indica se o utilizador especificado está no papel especificado.

MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
RemoveUsersFromRoles(String[], String[])

Este método não é utilizado por esta classe.

ResetCache()

Apaga a informação do papel em cache e reinicia o período de timeout da cache.

RoleExists(String)

Este método não é utilizado por esta classe.

ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Ver também