Compartir a través de


Membership.GetUser Método

Definición

Obtiene la información del origen de datos para el usuario de pertenencia.

Sobrecargas

GetUser(String, Boolean)

Recibe la información del origen de datos para el usuario de pertenencia especificado. Actualiza la marca de fecha y hora de la última actividad para el usuario, si se ha especificado.

GetUser(Object, Boolean)

Recibe la información del origen de datos para el usuario de pertenencia asociado al identificador único especificado. Actualiza la marca de fecha y hora de la última actividad para el usuario, si se ha especificado.

GetUser(String)

Recibe la información del origen de datos para el usuario de pertenencia especificado.

GetUser(Boolean)

Recibe la información del origen de datos para el usuario de pertenencia que ha iniciado la sesión. Actualiza la marca de fecha y hora de la última actividad para el usuario de pertenencia que ha iniciado la sesión, si se ha especificado.

GetUser()

Recibe la información del origen de datos y actualiza la marca de fecha y hora de la última actividad para el usuario de pertenencia que ha iniciado la sesión.

GetUser(Object)

Recibe la información del origen de datos para el usuario de pertenencia asociado al identificador único especificado.

GetUser(String, Boolean)

Recibe la información del origen de datos para el usuario de pertenencia especificado. Actualiza la marca de fecha y hora de la última actividad para el usuario, si se ha especificado.

public:
 static System::Web::Security::MembershipUser ^ GetUser(System::String ^ username, bool userIsOnline);
public static System.Web.Security.MembershipUser GetUser (string username, bool userIsOnline);
static member GetUser : string * bool -> System.Web.Security.MembershipUser
Public Shared Function GetUser (username As String, userIsOnline As Boolean) As MembershipUser

Parámetros

username
String

Nombre del usuario que se va a recuperar.

userIsOnline
Boolean

Si es true, se actualiza la marca de fecha y hora de la última actividad correspondiente al usuario especificado.

Devoluciones

Objeto MembershipUser que representa el usuario especificado. Si el parámetro username no corresponde a un usuario existente, este método devuelve null.

Excepciones

username contiene una coma (,).

username es null.

Ejemplos

En el ejemplo de código siguiente se recupera la contraseña de un nombre de usuario especificado y se envía a la dirección de correo electrónico del usuario especificado. La llamada a GetUser especifica que no se actualice la marca de fecha y hora de la última actividad para el usuario.

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<%@ Import Namespace="System.Net.Mail" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

public void Page_Load(object sender, EventArgs args)
{
  if (!Membership.EnablePasswordRetrieval)
  {
    FormsAuthentication.RedirectToLoginPage();
  }

  Msg.Text = "";

  if (!IsPostBack)
  {
    Msg.Text = "Please enter a user name.";
  }
  else
  {
    VerifyUsername();
  }
}


public void VerifyUsername()
{
    MembershipUser user = Membership.GetUser(UsernameTextBox.Text, false);

    if (user == null)
    {
      Msg.Text = "The user name " + Server.HtmlEncode(UsernameTextBox.Text) + " was not found. Please check the value and re-enter.";

      QuestionLabel.Text = "";
      QuestionLabel.Enabled = false;
      AnswerTextBox.Enabled = false;
      EmailPasswordButton.Enabled = false;
    }
    else
    {
      QuestionLabel.Text = user.PasswordQuestion;
      QuestionLabel.Enabled = true;
      AnswerTextBox.Enabled = true;
      EmailPasswordButton.Enabled = true;
    }
}


public void EmailPassword_OnClick(object sender, EventArgs args)
{
  // Note: Returning a password in clear text using email is not recommended for
  // sites that require a high level of security.

  try
  {
    string password = Membership.Provider.GetPassword(UsernameTextBox.Text, AnswerTextBox.Text);
    MembershipUser u = Membership.GetUser(UsernameTextBox.Text);
    EmailPassword(u.Email, password);
    Msg.Text = "Your password was sent via email.";
  }
  catch (MembershipPasswordException e)
  {
    Msg.Text = "The password answer is incorrect. Please check the value and try again.";
  }
  catch (System.Configuration.Provider.ProviderException e)
  {
    Msg.Text = "An error occurred retrieving your password. Please check your values " +
               "and try again.";
  }
}


private void EmailPassword(string email, string password)
{
  try
  {
    MailMessage Message = new MailMessage("administrator", email);
    Message.Subject = "Your Password";
    Message.Body = "Your password is: " + Server.HtmlEncode(password);

    SmtpClient SmtpMail = new SmtpClient("SMTPSERVER");
    SmtpMail.Send(Message);
  }
  catch 
  {
    Msg.Text = "An exception occurred while sending your password. Please try again.";
  }
}

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Retrieve Password</title>
</head>
<body>

<form id="form1" runat="server">
  <h3>Retrieve Password</h3>

  <asp:Label id="Msg" runat="server" ForeColor="maroon" /><br />

  Username: <asp:Textbox id="UsernameTextBox" Columns="30" runat="server" AutoPostBack="true" />
            <asp:RequiredFieldValidator id="UsernameRequiredValidator" runat="server"
                                        ControlToValidate="UsernameTextBox" ForeColor="red"
                                        Display="Static" ErrorMessage="Required" /><br />

  Password Question: <b><asp:Label id="QuestionLabel" runat="server" /></b><br />

  Answer: <asp:TextBox id="AnswerTextBox" Columns="60" runat="server" Enabled="false" />
          <asp:RequiredFieldValidator id="AnswerRequiredValidator" runat="server"
                                      ControlToValidate="AnswerTextBox" ForeColor="red"
                                      Display="Static" ErrorMessage="Required" Enabled="false" /><br />

  <asp:Button id="EmailPasswordButton" Text="Email My Password" 
              OnClick="EmailPassword_OnClick" runat="server" Enabled="false" />

</form>

</body>
</html>

<%@ Page Language="VB" %>

<%@ Import Namespace="System.Web.Security" %>
<%@ Import Namespace="System.Net.Mail" %>

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

  Public Sub Page_Load(ByVal sender As Object, ByVal args As EventArgs)

    If Not Membership.EnablePasswordRetrieval Then
      FormsAuthentication.RedirectToLoginPage()
    End If

    Msg.Text = ""

    If Not IsPostBack Then
      Msg.Text = "Please enter a user name."
    Else
      VerifyUsername()
    End If

  End Sub


  Private Sub VerifyUsername()

    Dim user As MembershipUser = Membership.GetUser(UsernameTextBox.Text, False)

    If user Is Nothing Then
      Msg.Text = "The user name " & Server.HtmlEncode(UsernameTextBox.Text) & " was not found. Please check the value and re-enter."

      QuestionLabel.Text = ""
      QuestionLabel.Enabled = False
      AnswerTextBox.Enabled = False
      EmailPasswordButton.Enabled = False
    Else
      QuestionLabel.Text = user.PasswordQuestion
      QuestionLabel.Enabled = True
      AnswerTextBox.Enabled = True
      EmailPasswordButton.Enabled = True
    End If

  End Sub


  Public Sub EmailPassword_OnClick(ByVal sender As Object, ByVal args As EventArgs)

    ' Note: Returning a password in clear text using email is not recommended for
    ' sites that require a high level of security.

    Try
      Dim password As String = Membership.Provider.GetPassword(UsernameTextBox.Text, AnswerTextBox.Text)
      Dim u As MembershipUser = Membership.GetUser(UsernameTextBox.Text)
      EmailPassword(u.Email, password)
      Msg.Text = "Your password was sent via email."
    Catch e As MembershipPasswordException
      Msg.Text = "The password answer is incorrect. Please check the value and try again."
    Catch e As System.Configuration.Provider.ProviderException
      Msg.Text = "An error occurred retrieving your password. Please check your values " & _
                 "and try again."
    End Try

  End Sub


  Private Sub EmailPassword(ByVal email As String, ByVal password As String)

    Try
      Dim Message As MailMessage = New MailMessage("administrator", email)
      Message.Subject = "Your Password"
      Message.Body = "Your password is: " & Server.HtmlEncode(password)
      
      Dim SmtpMail As SmtpClient = New SmtpClient("SMTPSERVER")
      SmtpMail.Send(Message)
    Catch
      Msg.Text = "An exception occurred while sending your password. Please try again."
    End Try

  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
  <title>Sample: Retrieve Password</title>
</head>
<body>
  <form id="form1" runat="server">
    <h3>
      Retrieve Password</h3>
    <asp:Label ID="Msg" runat="server" ForeColor="maroon" /><br />
    Username:
    <asp:TextBox ID="UsernameTextBox" Columns="30" runat="server" AutoPostBack="True" />
    <asp:RequiredFieldValidator ID="UsernameRequiredValidator" runat="server" ControlToValidate="UsernameTextBox"
      ForeColor="red" Display="Static" ErrorMessage="Required" /><br />
    Password Question: <b>
      <asp:Label ID="QuestionLabel" runat="server" /></b><br />
    Answer:
    <asp:TextBox ID="AnswerTextBox" Columns="60" runat="server" Enabled="False" />
    <asp:RequiredFieldValidator ID="AnswerRequiredValidator" runat="server" ControlToValidate="AnswerTextBox"
      ForeColor="red" Display="Static" ErrorMessage="Required" Enabled="False" /><br />
    <asp:Button ID="EmailPasswordButton" Text="Email My Password" OnClick="EmailPassword_OnClick"
      runat="server" Enabled="False" />
  </form>
</body>
</html>

Comentarios

El GetUser método recupera la información del usuario del origen de datos y crea un MembershipUser objeto rellenado con los datos devueltos.

Si usa una de las GetUser sobrecargas que no toma un username parámetro, GetUser devuelve la información del usuario de pertenencia que ha iniciado sesión actual. El usuario de pertenencia que ha iniciado sesión actual se identifica mediante el Name del usuario en el actual HttpContext.

También puede especificar si desea GetUser actualizar la marca de fecha y hora de la última actividad para el usuario que se va a recuperar con el userIsOnline parámetro . De las GetUser sobrecargas que no toman un userIsOnline parámetro, Membership.GetUser actualiza implícitamente la marca de fecha y hora de la última actividad para el usuario. Membership.GetUser y GetUser no.

Consulte también

Se aplica a

GetUser(Object, Boolean)

Recibe la información del origen de datos para el usuario de pertenencia asociado al identificador único especificado. Actualiza la marca de fecha y hora de la última actividad para el usuario, si se ha especificado.

public:
 static System::Web::Security::MembershipUser ^ GetUser(System::Object ^ providerUserKey, bool userIsOnline);
public static System.Web.Security.MembershipUser GetUser (object providerUserKey, bool userIsOnline);
static member GetUser : obj * bool -> System.Web.Security.MembershipUser
Public Shared Function GetUser (providerUserKey As Object, userIsOnline As Boolean) As MembershipUser

Parámetros

providerUserKey
Object

El identificador de usuario único del origen de datos de la pertenencia para el usuario.

userIsOnline
Boolean

Si es true, se actualiza la marca de fecha y hora de la última actividad correspondiente al usuario especificado.

Devoluciones

Objeto MembershipUser que representa al usuario asociado al identificador único que se ha especificado.

Excepciones

providerUserKey es null.

Comentarios

El GetUser método recupera la información del usuario del origen de datos y crea un MembershipUser objeto rellenado con los datos devueltos. El usuario se identifica con el identificador único del origen de datos especificado en el providerUserKey parámetro .

Consulte también

Se aplica a

GetUser(String)

Recibe la información del origen de datos para el usuario de pertenencia especificado.

public:
 static System::Web::Security::MembershipUser ^ GetUser(System::String ^ username);
public static System.Web.Security.MembershipUser GetUser (string username);
static member GetUser : string -> System.Web.Security.MembershipUser
Public Shared Function GetUser (username As String) As MembershipUser

Parámetros

username
String

Nombre del usuario que se va a recuperar.

Devoluciones

Objeto MembershipUser que representa el usuario especificado. Si el parámetro username no corresponde a un usuario existente, este método devuelve null.

Excepciones

username contiene una coma (,).

username es null.

Ejemplos

En el ejemplo de código siguiente se usa el GetUser método para devolver un MembershipUser objeto para el usuario que ha iniciado sesión actual y se actualiza la dirección de correo electrónico del usuario.

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

MembershipUser u;

public void Page_Load(object sender, EventArgs args)
{
  u = Membership.GetUser(User.Identity.Name);

  if (!IsPostBack)
  {
    EmailTextBox.Text = u.Email; 
  }
}

public void UpdateEmailButton_OnClick(object sender, EventArgs args)
{
  try
  {
    u.Email = EmailTextBox.Text;

    Membership.UpdateUser(u);
  
    Msg.Text = "User email updated.";
  }
  catch (System.Configuration.Provider.ProviderException e)
  {
    Msg.Text = e.Message;
  }
}

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Update User E-Mail</title>
</head>
<body>

<form id="form1" runat="server">
  <h3>Update E-Mail Address for <%=User.Identity.Name%></h3>

  <asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />

  <table cellpadding="3" border="0">
    <tr>
      <td>Email Address:</td>
      <td><asp:TextBox id="EmailTextBox" MaxLength="128" Columns="30" runat="server" /></td>
      <td><asp:RequiredFieldValidator id="EmailRequiredValidator" runat="server"
                                    ControlToValidate="EmailTextBox" ForeColor="red"
                                    Display="Static" ErrorMessage="Required" /></td>
    </tr>
    <tr>
      <td></td>
      <td><asp:Button id="UpdateEmailButton" 
                      Text="Update Email" 
                      OnClick="UpdateEmailButton_OnClick" 
                      runat="server" /></td>
    </tr>
  </table>
</form>

</body>
</html>
<%@ Page Language="vb" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

Dim u As MembershipUser

Public Sub Page_Load(sender As Object, args As EventArgs)

  u = Membership.GetUser(User.Identity.Name)

  If Not IsPostBack Then EmailTextBox.Text = u.Email

End Sub

Public Sub UpdateEmailButton_OnClick(sender As Object, args As EventArgs)

  Try
    u.Email = EmailTextBox.Text

    Membership.UpdateUser(u)
  
    Msg.Text = "User email updated."
  Catch e As System.Configuration.Provider.ProviderException
    Msg.Text = e.Message
  End Try

End Sub

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Update User E-Mail</title>
</head>
<body>

<form id="form1" runat="server">
  <h3>Update E-Mail Address for <%=User.Identity.Name%></h3>

  <asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />

  <table cellpadding="3" border="0">
    <tr>
      <td>Email Address:</td>
      <td><asp:TextBox id="EmailTextBox" MaxLength="128" Columns="30" runat="server" /></td>
      <td><asp:RequiredFieldValidator id="EmailRequiredValidator" runat="server"
                                    ControlToValidate="EmailTextBox" ForeColor="red"
                                    Display="Static" ErrorMessage="Required" /></td>
    </tr>
    <tr>
      <td></td>
      <td><asp:Button id="UpdateEmailButton" 
                      Text="Update Email" 
                      OnClick="UpdateEmailButton_OnClick" 
                      runat="server" /></td>
    </tr>
  </table>
</form>

</body>
</html>

Comentarios

El GetUser método recupera la información del usuario del origen de datos y crea un MembershipUser objeto rellenado con los datos devueltos. Si usa una de las GetUser sobrecargas que no toma un username parámetro, GetUser devuelve la información del usuario de pertenencia que ha iniciado sesión actual. El usuario de pertenencia que ha iniciado sesión actual se identifica mediante el Name del usuario en el actual HttpContext.

También puede especificar si desea GetUser actualizar la marca de fecha y hora de la última actividad para el usuario que se va a recuperar con el userIsOnline parámetro . De las GetUser sobrecargas que no toman un userIsOnline parámetro, Membership.GetUser actualiza implícitamente la marca de fecha y hora de la última actividad para el usuario. Membership.GetUser y GetUser no.

Consulte también

Se aplica a

GetUser(Boolean)

Recibe la información del origen de datos para el usuario de pertenencia que ha iniciado la sesión. Actualiza la marca de fecha y hora de la última actividad para el usuario de pertenencia que ha iniciado la sesión, si se ha especificado.

public:
 static System::Web::Security::MembershipUser ^ GetUser(bool userIsOnline);
public static System.Web.Security.MembershipUser GetUser (bool userIsOnline);
static member GetUser : bool -> System.Web.Security.MembershipUser
Public Shared Function GetUser (userIsOnline As Boolean) As MembershipUser

Parámetros

userIsOnline
Boolean

Si es true, se actualiza la marca de fecha y hora de la última actividad correspondiente al usuario especificado.

Devoluciones

Objeto MembershipUser que representa al usuario que ha iniciado la sesión.

Excepciones

Ningún usuario de pertenencia ha iniciado sesión.

Ejemplos

En el ejemplo de código siguiente se muestra el nombre de usuario para el usuario de pertenencia que ha iniciado sesión en la página ASP.NET sin actualizar la marca de fecha y hora de la última actividad para el usuario.

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>

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

MembershipUser currentUser;

public void Page_Load()
{
  currentUser = Membership.GetUser(false);
}

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Home Page</title>
</head>
<body>

<form id="form1" runat="server">
Welcome <b><%=currentUser.UserName%></b>. 
</form>

</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security" %>

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

Dim currentUser As MembershipUser

Public Sub Page_Load()
  currentUser = Membership.GetUser(False)
End Sub

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Home Page</title>
</head>
<body>

<form id="form1" runat="server">
Welcome <b><%=currentUser.UserName%></b>.
</form>

</body>
</html>

Comentarios

El GetUser método recupera la información del usuario del origen de datos y crea un MembershipUser objeto rellenado con los datos devueltos. Si usa una de las GetUser sobrecargas que no toma un username parámetro, GetUser devuelve la información del usuario de pertenencia que ha iniciado sesión actual. El usuario de pertenencia que ha iniciado sesión actual se identifica mediante el Name del usuario en el actual HttpContext.

También puede especificar si desea GetUser actualizar la marca de fecha y hora de la última actividad para el usuario que se va a recuperar mediante el userIsOnline parámetro . De las GetUser sobrecargas que no toman un userIsOnline parámetro, GetUser() actualiza implícitamente la marca de fecha y hora de la última actividad para el usuario. GetUser(System.String) y GetUser(System.Object) no.

Consulte también

Se aplica a

GetUser()

Recibe la información del origen de datos y actualiza la marca de fecha y hora de la última actividad para el usuario de pertenencia que ha iniciado la sesión.

public:
 static System::Web::Security::MembershipUser ^ GetUser();
public static System.Web.Security.MembershipUser GetUser ();
static member GetUser : unit -> System.Web.Security.MembershipUser
Public Shared Function GetUser () As MembershipUser

Devoluciones

Objeto MembershipUser que representa al usuario que ha iniciado la sesión.

Excepciones

Ningún usuario de pertenencia ha iniciado sesión.

Ejemplos

En el ejemplo de código siguiente se actualiza la marca de fecha y hora de la última actividad para el usuario de pertenencia que ha iniciado sesión actual y se muestra el nombre de usuario en la página ASP.NET.

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>

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

MembershipUser currentUser;

public void Page_Load()
{
  currentUser = Membership.GetUser();
}

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Home Page</title>
</head>
<body>

<form id="form1" runat="server">
Welcome <b><%=currentUser.UserName%></b>. 
</form>

</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security" %>

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

Dim currentUser As MembershipUser

Public Sub Page_Load()
  currentUser = Membership.GetUser()
End Sub

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Home Page</title>
</head>
<body>

<form id="form1" runat="server">
Welcome <b><%=currentUser.UserName%></b>.
</form>

</body>
</html>

Comentarios

GetUser() recupera la información del usuario del origen de datos y crea un MembershipUser objeto rellenado con los datos devueltos. Si usa una de las GetUser sobrecargas que no toma un username parámetro, GetUser devuelve la información del usuario de pertenencia que ha iniciado sesión actual. El usuario de pertenencia que ha iniciado sesión actual se identifica mediante el Name del usuario en el actual HttpContext.

También puede especificar si desea GetUser actualizar la marca de fecha y hora de la última actividad para el usuario que se va a recuperar mediante el userIsOnline parámetro . De las GetUser sobrecargas que no toman un userIsOnline parámetro, GetUser() actualiza implícitamente la marca de fecha y hora de la última actividad para el usuario. GetUser(System.String) y GetUser(System.Object) no.

Consulte también

Se aplica a

GetUser(Object)

Recibe la información del origen de datos para el usuario de pertenencia asociado al identificador único especificado.

public:
 static System::Web::Security::MembershipUser ^ GetUser(System::Object ^ providerUserKey);
public static System.Web.Security.MembershipUser GetUser (object providerUserKey);
static member GetUser : obj -> System.Web.Security.MembershipUser
Public Shared Function GetUser (providerUserKey As Object) As MembershipUser

Parámetros

providerUserKey
Object

El identificador de usuario único del origen de datos de la pertenencia para el usuario.

Devoluciones

Objeto MembershipUser que representa al usuario asociado al identificador único que se ha especificado.

Excepciones

providerUserKey es null.

Comentarios

El GetUser método recupera la información del usuario del origen de datos y crea un MembershipUser objeto rellenado con los datos devueltos. El usuario se identifica mediante el identificador único del origen de datos especificado mediante el providerUserKey parámetro .

También puede especificar si desea GetUser actualizar la marca de fecha y hora de la última actividad para el usuario que se va a recuperar con el userIsOnline parámetro . De las GetUser sobrecargas que no toman un userIsOnline parámetro, GetUser() actualiza implícitamente la marca de fecha y hora de la última actividad para el usuario. GetUser(System.String) y GetUser(System.Object) no

Consulte también

Se aplica a