ActiveDirectoryMembershipUser Classe

Definição

Expõe e atualiza as informações dos utilizadores de membros armazenadas numa loja 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 seguinte demonstra a utilização de propriedades no ActiveDirectoryMembershipUser objeto numa página Web que podem devolver informações do utilizador provenientes de múltiplos repositórios de dados de membros. Como o ActiveDirectoryMembershipUser objeto subjacente ao MembershipUser objeto devolvido pelo fornecedor de membros não implementa as LastActivityDate propriedades e, LastLoginDate o código verifica primeiro o tipo do objeto utilizador devolvido pelo fornecedor de membros antes de mostrar 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>

Observações

O objeto ActiveDirectoryMembershipUser é usado para representar um único utilizador de membro no armazenamento de dados de Active Directory membros. Expõe informações sobre o utilizador da subscrição, como o endereço de email, e fornece funcionalidades ao utilizador da subscrição, como a possibilidade de alterar ou redefinir a sua palavra-passe.

Um objeto ActiveDirectoryMembershipUser é devolvido pelo fornecedor de membros da aplicação sempre que a aplicação está configurada para usar um armazenamento de dados Active Directory. Numa aplicação que pode ser configurada para usar diferentes armazenamentos de dados, ou numa aplicação que utiliza múltiplos repositórios de dados, pode referir-se à classe base, MembershipUser. Como o ActiveDirectoryMembershipUser objeto não implementa as LastActivityDate propriedades e, LastLoginDate deve estar preparado para lidar com o NotSupportedException que é lançado quando estes elementos são acedidos num ActiveDirectoryMembershipUser objeto.

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

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

Um ActiveDirectoryMembershipUser objeto é exigido pelo UpdateUser método quando se quer atualizar a informação de um utilizador de subscrição existente.

As propriedades ActiveDirectoryMembershipUser são mapeadas para Active Directory atributos. A tabela seguinte lista as ActiveDirectoryMembershipUser propriedades e os seus mapeamentos de atributos predefinidos.

Property Atributo predefinido do diretório 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 Unicode String.
LastActivityDate não aplicável Não suportado por ActiveDirectoryMembershipProvider.
LastLoginDate não aplicável Não suportado por ActiveDirectoryMembershipProvider.
LastPasswordChangedDate pwdLastSet No
PasswordQuestion nenhuma, mas deve ser mapeada para um atributo se for usada segurança de perguntas e respostas para redefinição ou recuperação de palavra-passe. Sim, mas deve ser um atributo de valor único do tipo Unicode String.
IsApproved User-Account-Control (AD)

mDS-UserAccountDisabled (ADAM)
No
IsLockedOut calculado a partir de lockoutTime e a duração do bloqueio AD (AD em Windows 2000)

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

msDS-User-Account-Control-Computed (ADAM)
No
LastLockoutDate Se bloqueado devido a muitas tentativas de passwords erradas, o atributo de tempo de bloqueio é devolvido.

Se bloqueado devido a demasiadas tentativas de resposta por palavra-passe erradas, o valor armazenado no atributo definido por attributeMapFailedPasswordAnswerLockoutTime é devolvido.

Se bloqueado devido a uma palavra-passe errada e a demasiadas tentativas de password, o valor mais recente da data/hora é devolvido.

Se a conta não estiver bloqueada, devolve 1/1/1753 para compatibilidade SQL.
No

Construtores

Name 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

Name Description
Comment

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

CreationDate

Obtém a data e hora em que o utilizador foi adicionado ao armazenamento de dados de membros.

(Herdado de MembershipUser)
Email

Obtém ou define o endereço de email do utilizador da subscrição.

IsApproved

Recebe ou define um valor que indica se o utilizador membro pode ser autenticado.

IsLockedOut

Obtém um valor que indica se o usuário de associação 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

Faz NotSupportedException exceção em todos os casos.

LastLockoutDate

Recebe a data e hora mais recentes em que o utilizador da subscrição foi bloqueado.

(Herdado de MembershipUser)
LastLoginDate

Faz NotSupportedException exceção em todos os casos.

LastPasswordChangedDate

Obtém a data e hora em que a palavra-passe do utilizador da subscrição foi atualizada pela última vez.

(Herdado de MembershipUser)
PasswordQuestion

Obtém a pergunta de senha para o usuário da associação.

(Herdado de MembershipUser)
ProviderName

Obtém o nome do fornecedor de membros que armazena e recupera informações de utilizador para o utilizador da subscrição.

(Herdado de MembershipUser)
ProviderUserKey

Obtém o identificador de utilizador do armazenamento de dados do Active Directory para o utilizador de membro.

UserName

Obtém o nome de login do utilizador da subscrição.

(Herdado de MembershipUser)

Métodos

Name Description
ChangePassword(String, String)

Atualiza a palavra-passe do utilizador de membro no armazenamento de dados de membros.

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

Atualiza a pergunta e resposta da palavra-passe para o utilizador de subscrição no armazenamento de dados de membros.

(Herdado de MembershipUser)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetPassword()

Obtém a palavra-passe do utilizador de subscrição a partir do armazenamento de dados de membros.

(Herdado de MembershipUser)
GetPassword(String)

Obtém a palavra-passe do utilizador de subscrição a partir do armazenamento de dados de membros.

(Herdado de MembershipUser)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ResetPassword()

Redefine a palavra-passe de um utilizador para uma nova palavra-passe gerada automaticamente.

(Herdado de MembershipUser)
ResetPassword(String)

Redefine a palavra-passe de um utilizador para uma nova palavra-passe gerada automaticamente.

(Herdado de MembershipUser)
ToString()

Devolve o nome de utilizador do utilizador de membro.

(Herdado de MembershipUser)
UnlockUser()

Elimina o estado de bloqueio do utilizador para que o utilizador membro possa ser validado.

(Herdado de MembershipUser)

Aplica-se a

Ver também