Compartilhar via


ActiveDirectoryMembershipUser Classe

Definição

Expõe e atualiza as informações de usuário de associação 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 que está subjacente ao MembershipUser objeto retornado pelo provedor de associação não implementa o LastActivityDate e LastLoginDate as propriedades, 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 e as LastActivityDateLastLoginDate propriedades, você deve estar preparado para lidar com o NotSupportedException que é lançado 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 pelos métodos ou como parte de um MembershipUserCollection retornado pelo método e FindUsersByEmail pelo GetAllUsers. FindUsersByName

Um ActiveDirectoryMembershipUser objeto é exigido pelo UpdateUser método quando você deseja atualizar as informações de um usuário de associação 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 No
UserName userPrincipalName Sim, mas deve ser userPrincipalName ou sAMAccountName
Comment comment No
CreationDate whenCreated No
Email mail Sim, mas deve ser um atributo de valor único do tipo Cadeia de Caracteres Unicode.
LastActivityDate n/a Não há suporte para ActiveDirectoryMembershipProvider.
LastLoginDate n/a Não há suporte para ActiveDirectoryMembershipProvider.
LastPasswordChangedDate pwdLastSet No
PasswordQuestion nenhum, mas deve ser mapeado para um atributo se estiver usando a segurança de pergunta e resposta 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 (ADAM)
No
IsLockedOut computado a partir da duração do bloqueio do lockoutTime AD (AD no Windows 2000)

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

msDS-User-Account-Control-Computed (ADAM)
No
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 incorretas, o valor armazenado no atributo definido por attributeMapFailedPasswordAnswerLockoutTime ele será retornado.

Se bloqueado devido a uma senha inválida e a 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.
No

Construtores

Nome Description
ActiveDirectoryMembershipUser()

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

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

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

Propriedades

Nome Description
Comment

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

CreationDate

Obtém a data e a hora em que 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

Obtém se o usuário está online no momento.

(Herdado de MembershipUser)
LastActivityDate

Gera uma NotSupportedException exceção 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 NotSupportedException exceção em todos os casos.

LastPasswordChangedDate

Obtém a data e a hora em que a senha do usuário associado foi atualizada pela última vez.

(Herdado de MembershipUser)
PasswordQuestion

Obtém a pergunta de senha para o usuário associado.

(Herdado de MembershipUser)
ProviderName

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

(Herdado de MembershipUser)
ProviderUserKey

Obtém o identificador de usuário do repositório 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

Nome Description
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 de senha e a resposta para o 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 Objectatual.

(Herdado de Object)
ResetPassword()

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

(Herdado de MembershipUser)
ResetPassword(String)

Redefine a senha de um usuário para 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