Compartilhar via


ClientRolePrincipal Classe

Definição

Representa informações de segurança para serviços de aplicativo cliente, o que inclui informações de função.

public ref class ClientRolePrincipal : System::Security::Principal::IPrincipal
public class ClientRolePrincipal : System.Security.Principal.IPrincipal
type ClientRolePrincipal = class
    interface IPrincipal
Public Class ClientRolePrincipal
Implements IPrincipal
Herança
ClientRolePrincipal
Implementações

Exemplos

O código de exemplo a seguir demonstra como usar essa classe para exibir um botão somente quando o usuário estiver na função "gerente". Este exemplo requer um Button nomeado managerOnlyButton com um valor de propriedade Visible inicial de false.

private void DisplayButtonForManagerRole()
{
    try
    {
        ClientRolePrincipal rolePrincipal =
            System.Threading.Thread.CurrentPrincipal 
            as ClientRolePrincipal;

        if (rolePrincipal != null && rolePrincipal.IsInRole("manager"))
        {
            managerOnlyButton.Visible = true;
        }
    }
    catch (System.Net.WebException)
    {
        MessageBox.Show("Unable to access the roles service.",
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    }
}
Private Sub DisplayButtonForManagerRole()

    Try

        Dim rolePrincipal As ClientRolePrincipal = TryCast( _
            System.Threading.Thread.CurrentPrincipal, ClientRolePrincipal)

        If rolePrincipal IsNot Nothing And _
            rolePrincipal.IsInRole("manager") Then

            managerOnlyButton.Visible = True

        End If

    Catch ex As System.Net.WebException

        MessageBox.Show("Unable to access the role service.", _
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)

    End Try

End Sub

Comentários

Quando você valida um usuário nos serviços de aplicativo cliente, o ClientFormsAuthenticationMembershipProvider ou o ClientWindowsAuthenticationMembershipProvider define a propriedade staticThread.CurrentPrincipal para uma instância dessa classe. O ClientFormsAuthenticationMembershipProvider inicializa a propriedade Identity para uma nova instância da classe ClientFormsIdentity. O ClientWindowsAuthenticationMembershipProvider inicializa a propriedade Identity para o objeto WindowsIdentity retornado pelo método staticWindowsIdentity.GetCurrent().

Normalmente, você não acessará essa classe diretamente. Normalmente, você chamará o método IsInRole do IPrincipal retornado pela propriedade staticCurrentPrincipal. No entanto, você pode converter o valor da propriedade CurrentPrincipal em uma referência ClientRolePrincipal para chamar o método IsInRole explicitamente, conforme demonstrado na seção Exemplo.

Construtores

ClientRolePrincipal(IIdentity)

Inicializa uma nova instância da classe ClientRolePrincipal.

Propriedades

Identity

Obtém a identidade de segurança associada ao ClientRolePrincipal.

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsInRole(String)

Obtém um valor que indica se o usuário representado pelo ClientRolePrincipal está na função especificada.

MemberwiseClone()

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também