ActiveDirectoryMembershipUser Classe

Definizione

Espone e aggiorna le informazioni di appartenenza utente nell'archivio dati 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
Ereditarietà
ActiveDirectoryMembershipUser
Attributi

Esempio

Nell'esempio di codice seguente viene illustrato l'utilizzo delle proprietà dell'oggetto ActiveDirectoryMembershipUser in una pagina Web che può restituire informazioni utente da più archivi dati di appartenenza. Poiché l'oggetto ActiveDirectoryMembershipUser sottostante l'oggetto MembershipUser restituito dal provider di appartenenze non implementa le LastActivityDate proprietà e LastLoginDate , il codice controlla innanzitutto il tipo dell'oggetto utente restituito dal provider di appartenenze prima di visualizzare il contenuto di tali proprietà.


<%@ 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>

Commenti

L'oggetto ActiveDirectoryMembershipUser viene utilizzato per rappresentare un singolo utente di appartenenza nell'archivio dati di appartenenza di Active Directory. Espone informazioni sull'utente di appartenenza, ad esempio l'indirizzo di posta elettronica, e fornisce funzionalità per l'utente di appartenenza, ad esempio la possibilità di modificare o reimpostare la password.

Un ActiveDirectoryMembershipUser oggetto viene restituito dal provider di appartenenze dell'applicazione ogni volta che l'applicazione è configurata per l'uso di un archivio dati di Active Directory. In un'applicazione che può essere configurata per l'uso di archivi dati diversi o in un'applicazione che usa più archivi dati, è possibile fare riferimento alla classe base , MembershipUser. Poiché l'oggetto ActiveDirectoryMembershipUser non implementa le LastActivityDate proprietà e LastLoginDate , è necessario essere pronti a gestire l'oggetto NotSupportedException generato quando si accede a questi membri in un ActiveDirectoryMembershipUser oggetto .

La ActiveDirectoryMembershipUser classe implementa ottimizzazioni interne utilizzate dalla ActiveDirectoryMembershipProvider classe per ridurre al minimo il numero di aggiornamenti degli attributi che si verificano durante la chiamata al UpdateUser metodo . Serializza anche la SecurityIdentifier rappresentazione (disponibile nella ProviderUserKey proprietà) in modo che un ActiveDirectoryMembershipUser oggetto possa essere serializzato e deserializzato senza generare eccezioni.

Un ActiveDirectoryMembershipUser oggetto viene restituito dai GetUser metodi e CreateUser o come parte di un MembershipUserCollection oggetto restituito dai GetAllUsersmetodi , FindUsersByNamee FindUsersByEmail .

Un ActiveDirectoryMembershipUser oggetto è richiesto dal UpdateUser metodo quando si desidera aggiornare le informazioni per un utente di appartenenza esistente.

ActiveDirectoryMembershipUser le proprietà vengono mappate agli attributi di Active Directory. Nella tabella seguente sono elencate le ActiveDirectoryMembershipUser proprietà e i relativi mapping degli attributi predefiniti.

Proprietà Attributo directory predefinito È possibile eseguire il mapping?
ProviderUserKey securityIdentifier No
UserName userPrincipalName Sì, ma deve essere userPrincipalName o sAMAccountName
Comment comment No
CreationDate whenCreated No
Email mail Sì, ma deve essere un attributo a valore singolo di tipo Stringa Unicode.
LastActivityDate n/d Non supportato da ActiveDirectoryMembershipProvider.
LastLoginDate n/d Non supportato da ActiveDirectoryMembershipProvider.
LastPasswordChangedDate pwdLastSet No
PasswordQuestion nessuno, ma deve essere mappato a un attributo se si usa la sicurezza di domande e risposte per la reimpostazione o il recupero della password. Sì, ma deve essere un attributo a valore singolo di tipo Stringa Unicode.
IsApproved User-Account-Control (AD)

mDS-UserAccountDisabled (ADAM)
No
IsLockedOut calcolata da lockoutTime e la durata del blocco di Active Directory (AD in Windows 2000)

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

msDS-User-Account-Control-Computed (ADAM)
No
LastLockoutDate Se bloccato a causa di troppi tentativi di password non valido, viene restituito l'attributo di tempo di blocco.

Se bloccato a causa di troppi tentativi di risposta alla password non valida, viene restituito il valore archiviato nell'attributo definito da attributeMapFailedPasswordAnswerLockoutTime .

Se bloccato a causa di una password non valida e di troppi tentativi di password non valida, viene restituito il valore di data/ora più recente.

Se l'account non è bloccato, restituire 1/1/1753 per compatibilità SQL.
No

Costruttori

ActiveDirectoryMembershipUser()

Crea una nuova istanza dell'oggetto ActiveDirectoryMembershipUser per una classe che eredita la classe ActiveDirectoryMembershipUser.

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

Crea una nuova istanza della classe ActiveDirectoryMembershipUser con i valori di proprietà specificati.

Proprietà

Comment

Ottiene o imposta le informazioni specifiche dell'applicazione per l'utente di appartenenza.

CreationDate

Ottiene la data e l'ora in cui l'utente è stato aggiunto all'archivio dati di appartenenza.

(Ereditato da MembershipUser)
Email

Ottiene o imposta l'indirizzo di posta elettronica dell'utente di appartenenza.

IsApproved

Ottiene o imposta un valore che indica se è possibile autenticare l'utente di appartenenza.

IsLockedOut

Ottiene un valore che indica se l'utente di appartenenza è stato bloccato e quindi non è possibile convalidarlo.

(Ereditato da MembershipUser)
IsOnline

Ottiene un valore che indica se l'utente è attualmente online.

(Ereditato da MembershipUser)
LastActivityDate

Genera un'eccezione NotSupportedException in tutti i casi.

LastLockoutDate

Ottiene la data e l'ora più recenti in cui l'utente di appartenenza è stato bloccato.

(Ereditato da MembershipUser)
LastLoginDate

Genera un'eccezione NotSupportedException in tutti i casi.

LastPasswordChangedDate

Ottiene la data e l'ora dell'ultimo aggiornamento della password dell'utente di appartenenza.

(Ereditato da MembershipUser)
PasswordQuestion

Ottiene la domanda segreta per l'utente di appartenenza.

(Ereditato da MembershipUser)
ProviderName

Ottiene il nome del provider di appartenenze che archivia e recupera le informazioni utente per l'utente di appartenenza.

(Ereditato da MembershipUser)
ProviderUserKey

Ottiene l'identificatore dell'utente dall'archivio dati Active Directory per l'utente di appartenenza.

UserName

Ottiene il nome di accesso dell'utente di appartenenza.

(Ereditato da MembershipUser)

Metodi

ChangePassword(String, String)

Aggiorna la password per l'utente di appartenenza nell'archivio dati di appartenenza.

(Ereditato da MembershipUser)
ChangePasswordQuestionAndAnswer(String, String, String)

Aggiorna la domanda e la risposta segreta per l'utente di appartenenza nell'archivio dati di appartenenza.

(Ereditato da MembershipUser)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetPassword()

Ottiene la password per l'utente di appartenenza dall'archivio dati di appartenenza.

(Ereditato da MembershipUser)
GetPassword(String)

Ottiene la password per l'utente di appartenenza dall'archivio dati di appartenenza.

(Ereditato da MembershipUser)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ResetPassword()

Reimposta la password di un utente su una nuova password generata automaticamente.

(Ereditato da MembershipUser)
ResetPassword(String)

Reimposta la password di un utente su una nuova password generata automaticamente.

(Ereditato da MembershipUser)
ToString()

Restituisce il nome utente per l'utente di appartenenza.

(Ereditato da MembershipUser)
UnlockUser()

Cancella lo stato di blocco dell'utente perché sia possibile convalidare l'utente di appartenenza.

(Ereditato da MembershipUser)

Si applica a

Vedi anche