Compartilhar via


ActiveDirectoryMembershipUser Classe

Definição

Expõe e atualiza as informações de usuário associado armazenadas em um armazenamento de dados do Active Directory.

public ref class ActiveDirectoryMembershipUser : System::Web::Security::MembershipUser
[System.Serializable]
public class ActiveDirectoryMembershipUser : System.Web.Security.MembershipUser
[<System.Serializable>]
type ActiveDirectoryMembershipUser = class
    inherit MembershipUser
Public Class ActiveDirectoryMembershipUser
Inherits MembershipUser
Herança
ActiveDirectoryMembershipUser
Atributos

Exemplos

O exemplo de código a seguir demonstra o uso de propriedades no ActiveDirectoryMembershipUser objeto em uma página da Web que podem retornar informações do usuário de vários armazenamentos de dados de associação. Como o ActiveDirectoryMembershipUser objeto subjacente ao MembershipUser objeto retornado pelo provedor de associação não implementa as LastActivityDate propriedades e LastLoginDate , o código primeiro verifica o tipo do objeto de usuário retornado do provedor de associação antes de exibir o conteúdo dessas propriedades.


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

  protected void Page_Load(object sender, EventArgs e)
  {
    MembershipUser user =
        Membership.GetUser();

    userName.Text = user.UserName;
    emailAddress.Text = user.Email;

    // <Snippet2>
    if (user is ActiveDirectoryMembershipUser)
    {
      lastLoginDate.Text = "Not available";
      lastActivityDate.Text = "Not available";
    }
    else
    {
      lastLoginDate.Text = user.LastLoginDate.ToShortDateString();
      lastActivityDate.Text = user.LastActivityDate.ToShortDateString();
    }
    // </Snippet2>   
    
    // <Snippet3>
    System.Security.Principal.SecurityIdentifier sidValue =
      (System.Security.Principal.SecurityIdentifier)user.ProviderUserKey;

    sid.Text = sidValue.ToString();
    // </Snippet3>
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>User information</title>
</head>
<body>
  <form id="form1" runat="server">
    <div>
      <table>
        <tr>
          <td>
            User name:</td>
          <td>
            <asp:Literal ID="userName" runat="server" /></td>
        </tr>
        <tr>
          <td>
            Email Address:</td>
          <td>
            <asp:Literal ID="emailAddress" runat="server" /></td>
        </tr>
        <tr>
          <td>
            Last Login Date:</td>
          <td>
            <asp:Literal ID="lastLoginDate" runat="server" /></td>
        </tr>
        <tr>
          <td>
            Last Activity Date:</td>
          <td>
            <asp:Literal ID="lastActivityDate" runat="server" /></td>
        </tr>
        <tr>
          <td>
            Security Identifier SID:</td>
          <td>
            <asp:Literal ID="sid" runat="server" /></td>
        </tr>
      </table>
    </div>
  </form>
</body>
</html>

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
    Dim user As MembershipUser = Membership.GetUser()
        
    userName.Text = user.UserName
    emailAddress.Text = user.Email
        
    ' <Snippet2>
    If TypeOf (user) Is ActiveDirectoryMembershipUser Then
      lastLoginDate.Text = "Not available"
      lastActivityDate.Text = "Not available"
    Else
      lastLoginDate.Text = user.LastLoginDate.ToString()
      lastActivityDate.Text = user.LastActivityDate.ToString()
    End If
    ' </Snippet2>
    
    ' <Snippet3>
    Dim sidValue As System.Security.Principal.SecurityIdentifier
    sidValue = CType(user.ProviderUserKey, System.Security.Principal.SecurityIdentifier)
    
    sid.Text = sidValue.ToString()
    ' </Snippet3>
  End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>User information page</title>
</head>
<body>
  <form id="form1" runat="server">
    <div>
      <table>
        <tr>
          <td>
            User name:</td>
          <td>
            <asp:Literal ID="userName" runat="server" /></td>
        </tr>
        <tr>
          <td>
            Email Address:</td>
          <td>
            <asp:Literal ID="emailAddress" runat="server" /></td>
        </tr>
        <tr>
          <td>
            Last Login Date:</td>
          <td>
            <asp:Literal ID="lastLoginDate" runat="server" /></td>
        </tr>
        <tr>
          <td>
            Last Activity Date:</td>
          <td>
            <asp:Literal ID="lastActivityDate" runat="server" /></td>
        </tr>
        <tr>
          <td>
            Security Identifier SID:</td>
          <td>
            <asp:Literal ID="sid" runat="server" /></td>
        </tr>
      </table>
    </div>
  </form>
</body>
</html>

Comentários

O ActiveDirectoryMembershipUser objeto é usado para representar um único usuário associado no armazenamento de dados de associação do Active Directory. Ele expõe informações sobre o usuário associado, como o endereço de email, e fornece funcionalidade para o usuário associado, como a capacidade de alterar ou redefinir sua senha.

Um ActiveDirectoryMembershipUser objeto é retornado pelo provedor de associação do aplicativo sempre que o aplicativo é configurado para usar um armazenamento de dados do Active Directory. Em um aplicativo que pode ser configurado para usar armazenamentos de dados diferentes ou em um aplicativo que usa vários armazenamentos de dados, você pode consultar a classe base , MembershipUser. Como o ActiveDirectoryMembershipUser objeto não implementa as LastActivityDate propriedades e LastLoginDate , você deve estar preparado para manipular o NotSupportedException que é gerado quando esses membros são acessados em um ActiveDirectoryMembershipUser objeto .

A ActiveDirectoryMembershipUser classe implementa otimizações internas usadas pela ActiveDirectoryMembershipProvider classe para minimizar o número de atualizações de atributo que ocorrem ao chamar o UpdateUser método . Ele também serializa a SecurityIdentifier representação (disponível na ProviderUserKey propriedade ) para que um ActiveDirectoryMembershipUser objeto possa ser serializado e desserializado sem gerar exceções.

Um ActiveDirectoryMembershipUser objeto é retornado pelos GetUser métodos e CreateUser ou como parte de um MembershipUserCollection retornado pelos GetAllUsersmétodos , FindUsersByNamee FindUsersByEmail .

Um ActiveDirectoryMembershipUser objeto é exigido pelo UpdateUser método quando você deseja atualizar as informações de um usuário associado existente.

ActiveDirectoryMembershipUser as propriedades são mapeadas para atributos do Active Directory. A tabela a seguir lista as ActiveDirectoryMembershipUser propriedades e seus mapeamentos de atributo padrão.

Propriedade Atributo de diretório padrão Pode ser mapeado?
ProviderUserKey securityIdentifier Não
UserName userPrincipalName Sim, mas deve ser userPrincipalName ou sAMAccountName
Comment comment Não
CreationDate whenCreated Não
Email mail Sim, mas deve ser um atributo de valor único do tipo Cadeia de Caracteres Unicode.
LastActivityDate N/D Não há suporte para ActiveDirectoryMembershipProvider.
LastLoginDate N/D Não há suporte para ActiveDirectoryMembershipProvider.
LastPasswordChangedDate pwdLastSet Não
PasswordQuestion nenhum, mas deve ser mapeado para um atributo se estiver usando a segurança de perguntas e respostas para redefinição ou recuperação de senha. Sim, mas deve ser um atributo de valor único do tipo Cadeia de Caracteres Unicode.
IsApproved User-Account-Control (AD)

mDS-UserAccountDisabled (ADÃO)
Não
IsLockedOut computado de e a duração do lockoutTime bloqueio do AD (AD no Windows 2000)

msDS-User-Account-Control-Computed (AD no Windows Server 2003)

msDS-User-Account-Control-Computed (ADÃO)
Não
LastLockoutDate Se bloqueado devido a muitas tentativas de senha incorretas, o atributo de tempo de bloqueio será retornado.

Se bloqueado devido a muitas tentativas de resposta de senha inválidas, o valor armazenado no atributo definido por attributeMapFailedPasswordAnswerLockoutTime será retornado.

Se bloqueado devido a uma senha inválida e muitas tentativas de senha incorretas, o valor de data/hora mais recente será retornado.

Se a conta não estiver bloqueada, retorne 1/1/1753 para compatibilidade do SQL.
Não

Construtores

ActiveDirectoryMembershipUser()

Inicializa uma nova instância de um objeto ActiveDirectoryMembershipUser para uma classe que herda a classe ActiveDirectoryMembershipUser.

ActiveDirectoryMembershipUser(String, String, Object, String, String, String, Boolean, Boolean, DateTime, DateTime, DateTime, DateTime, DateTime)

Cria uma nova instância da classe ActiveDirectoryMembershipUser com os valores de propriedade especificados.

Propriedades

Comment

Obtém ou define informações específicas do aplicativo para o usuário associado.

CreationDate

Obtém a data e hora quando o usuário foi adicionado ao armazenamento de dados de associação.

(Herdado de MembershipUser)
Email

Obtém ou define o endereço de email do usuário associado.

IsApproved

Obtém ou define um valor que indica se o usuário associado pode ser autenticado.

IsLockedOut

Obtém um valor que indica se o usuário associado está bloqueado e não pode ser validado.

(Herdado de MembershipUser)
IsOnline

Especifica se o usuário está online no momento.

(Herdado de MembershipUser)
LastActivityDate

Gera uma exceção NotSupportedException em todos os casos.

LastLockoutDate

Obtém a data e a hora mais recentes em que o usuário associado foi bloqueado.

(Herdado de MembershipUser)
LastLoginDate

Gera uma exceção NotSupportedException em todos os casos.

LastPasswordChangedDate

Obtém a data e a hora da atualização mais recente da senha do usuário associado.

(Herdado de MembershipUser)
PasswordQuestion

Obtém a pergunta da senha do usuário associado.

(Herdado de MembershipUser)
ProviderName

Obtém o nome do provedor de associação que armazena e recupera informações de usuário para o usuário associado.

(Herdado de MembershipUser)
ProviderUserKey

Obtém o identificador de usuário do armazenamento de dados do Active Directory para o usuário associado.

UserName

Obtém o nome de logon do usuário associado.

(Herdado de MembershipUser)

Métodos

ChangePassword(String, String)

Atualiza a senha do usuário associado no armazenamento de dados de associação.

(Herdado de MembershipUser)
ChangePasswordQuestionAndAnswer(String, String, String)

Atualiza a pergunta e resposta de senha do usuário associado no armazenamento de dados de associação.

(Herdado de MembershipUser)
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)
GetPassword()

Obtém a senha do usuário associado do armazenamento de dados de associação.

(Herdado de MembershipUser)
GetPassword(String)

Obtém a senha do usuário associado do armazenamento de dados de associação.

(Herdado de MembershipUser)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ResetPassword()

Redefine a senha de um usuário com uma nova senha gerada automaticamente.

(Herdado de MembershipUser)
ResetPassword(String)

Redefine a senha de um usuário com uma nova senha gerada automaticamente.

(Herdado de MembershipUser)
ToString()

Retorna o nome de usuário para o usuário associado.

(Herdado de MembershipUser)
UnlockUser()

Limpa o estado bloqueado do usuário para que o usuário associado possa ser validado.

(Herdado de MembershipUser)

Aplica-se a

Confira também