Partilhar via


Membership.GetUser Método

Definição

Obtém informações de um usuário associado da fonte de dados.

Sobrecargas

GetUser(String, Boolean)

Obtém informações da fonte de dados do usuário associado especificado. Atualiza o carimbo de data/hora da última atividade para o usuário especificado, se especificado.

GetUser(Object, Boolean)

Obtém as informações da fonte de dados do usuário associado relativo ao identificador exclusivo especificado. Atualiza o carimbo de data/hora da última atividade para o usuário especificado, se especificado.

GetUser(String)

Obtém informações da fonte de dados do usuário associado especificado.

GetUser(Boolean)

Obtém as informações da fonte de dados para o usuário associado atualmente conectado. Atualiza o carimbo de data/hora da última atividade do usuário associado atualmente conectado, se especificado.

GetUser()

Obtém as informações da fonte de dados e atualiza a atividade de último carimbo de data/hora para o usuário associado atualmente conectado.

GetUser(Object)

Obtém as informações da fonte de dados do usuário associado relativo ao identificador exclusivo especificado.

GetUser(String, Boolean)

Obtém informações da fonte de dados do usuário associado especificado. Atualiza o carimbo de data/hora da última atividade para o usuário especificado, se 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

O nome do usuário a ser recuperado.

userIsOnline
Boolean

Se for true, atualizará o carimbo de data/hora da última atividade para o usuário especificado.

Retornos

Um objeto MembershipUser que representa o usuário especificado. Se o parâmetro username não corresponder a um usuário existente, este método retornará null.

Exceções

username contém uma vírgula (,).

username é null.

Exemplos

O exemplo de código a seguir recupera a senha de um nome de usuário especificado e a envia para o endereço de email do usuário especificado. A chamada para GetUser especifica que o carimbo de data/hora da última atividade para o usuário não seja atualizado.

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

Comentários

O GetUser método recupera as informações do usuário da fonte de dados e cria um MembershipUser objeto preenchido com os dados retornados.

Se você usar uma das GetUser sobrecargas que não usam um username parâmetro, GetUser retornará as informações para o usuário associado conectado atualmente. O usuário de associação de logon atual é identificado pelo Name do usuário no atual HttpContext.

Você também pode especificar se deseja GetUser atualizar o carimbo de data/hora da última atividade para o usuário que está sendo recuperado com o userIsOnline parâmetro . GetUser Das sobrecargas que não recebem um userIsOnline parâmetro, Membership.GetUser atualiza implicitamente o carimbo de data/hora da última atividade para o usuário. Membership.GetUser e GetUser não.

Confira também

Aplica-se a

GetUser(Object, Boolean)

Obtém as informações da fonte de dados do usuário associado relativo ao identificador exclusivo especificado. Atualiza o carimbo de data/hora da última atividade para o usuário especificado, se 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

O identificador de usuário exclusivo da fonte de dados de associação para o usuário.

userIsOnline
Boolean

Se for true, atualizará o carimbo de data/hora da última atividade para o usuário especificado.

Retornos

Um objeto MembershipUser que representa o usuário associado ao identificador exclusivo especificado.

Exceções

providerUserKey é null.

Comentários

O GetUser método recupera as informações do usuário da fonte de dados e cria um MembershipUser objeto preenchido com os dados retornados. O usuário é identificado com o identificador exclusivo da fonte de dados especificada no providerUserKey parâmetro .

Confira também

Aplica-se a

GetUser(String)

Obtém informações da fonte de dados do usuário associado 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

O nome do usuário a ser recuperado.

Retornos

Um objeto MembershipUser que representa o usuário especificado. Se o parâmetro username não corresponder a um usuário existente, este método retornará null.

Exceções

username contém uma vírgula (,).

username é null.

Exemplos

O exemplo de código a seguir usa o GetUser método para retornar um MembershipUser objeto para o usuário conectado atual e atualiza o endereço de email do usuário.

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

Comentários

O GetUser método recupera as informações do usuário da fonte de dados e cria um MembershipUser objeto preenchido com os dados retornados. Se você usar uma das GetUser sobrecargas que não usam um username parâmetro, GetUser retornará as informações para o usuário associado conectado atualmente. O usuário de associação de logon atual é identificado pelo Name do usuário no atual HttpContext.

Você também pode especificar se deseja GetUser atualizar o carimbo de data/hora da última atividade para o usuário que está sendo recuperado com o userIsOnline parâmetro . GetUser Das sobrecargas que não recebem um userIsOnline parâmetro, Membership.GetUser atualiza implicitamente o carimbo de data/hora da última atividade para o usuário. Membership.GetUser e GetUser não.

Confira também

Aplica-se a

GetUser(Boolean)

Obtém as informações da fonte de dados para o usuário associado atualmente conectado. Atualiza o carimbo de data/hora da última atividade do usuário associado atualmente conectado, se 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

Se for true, atualizará o carimbo de data/hora da última atividade para o usuário especificado.

Retornos

Um objeto MembershipUser que representa o usuário atualmente conectado.

Exceções

Nenhum usuário associado está atualmente conectado.

Exemplos

O exemplo de código a seguir exibe o nome de usuário do usuário associado conectado atualmente na página ASP.NET sem atualizar o carimbo de data/hora da última atividade para o usuário.

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

Comentários

O GetUser método recupera as informações do usuário da fonte de dados e cria um MembershipUser objeto preenchido com os dados retornados. Se você usar uma das GetUser sobrecargas que não usam um username parâmetro, GetUser retornará as informações para o usuário associado conectado atualmente. O usuário de associação de logon atual é identificado pelo Name do usuário no atual HttpContext.

Você também pode especificar se deseja GetUser atualizar o carimbo de data/hora da última atividade para o usuário que está sendo recuperado usando o userIsOnline parâmetro . GetUser Das sobrecargas que não recebem um userIsOnline parâmetro, GetUser() atualiza implicitamente o carimbo de data/hora da última atividade para o usuário. GetUser(System.String) e GetUser(System.Object) não.

Confira também

Aplica-se a

GetUser()

Obtém as informações da fonte de dados e atualiza a atividade de último carimbo de data/hora para o usuário associado atualmente conectado.

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

Retornos

Um objeto MembershipUser que representa o usuário atualmente conectado.

Exceções

Nenhum usuário associado está atualmente conectado.

Exemplos

O exemplo de código a seguir atualiza o carimbo de data/hora da última atividade para o usuário associado conectado atualmente e exibe o nome de usuário na 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>

Comentários

GetUser() recupera as informações do usuário da fonte de dados e cria um MembershipUser objeto preenchido com os dados retornados. Se você usar uma das GetUser sobrecargas que não usam um username parâmetro, GetUser retornará as informações para o usuário associado conectado atualmente. O usuário de associação de logon atual é identificado pelo Name do usuário no atual HttpContext.

Você também pode especificar se deseja GetUser atualizar o carimbo de data/hora da última atividade para o usuário que está sendo recuperado usando o userIsOnline parâmetro . GetUser Das sobrecargas que não recebem um userIsOnline parâmetro, GetUser() atualiza implicitamente o carimbo de data/hora da última atividade para o usuário. GetUser(System.String) e GetUser(System.Object) não.

Confira também

Aplica-se a

GetUser(Object)

Obtém as informações da fonte de dados do usuário associado relativo ao identificador exclusivo 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

O identificador de usuário exclusivo da fonte de dados de associação para o usuário.

Retornos

Um objeto MembershipUser que representa o usuário associado ao identificador exclusivo especificado.

Exceções

providerUserKey é null.

Comentários

O GetUser método recupera as informações do usuário da fonte de dados e cria um MembershipUser objeto preenchido com os dados retornados. O usuário é identificado usando o identificador exclusivo da fonte de dados especificada usando o providerUserKey parâmetro .

Você também pode especificar se deseja GetUser atualizar o carimbo de data/hora da última atividade para o usuário que está sendo recuperado com o userIsOnline parâmetro . GetUser Das sobrecargas que não recebem um userIsOnline parâmetro, GetUser() atualiza implicitamente o carimbo de data/hora da última atividade para o usuário. GetUser(System.String) e GetUser(System.Object) não

Confira também

Aplica-se a