ClientRoleProvider Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
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) |