Sdílet prostřednictvím


Membership.GetUser Metoda

Definice

Získá informace pro uživatele členství ze zdroje dat.

Přetížení

GetUser(String, Boolean)

Získá informace ze zdroje dat pro zadaného uživatele členství. Aktualizuje datum a čas poslední aktivity pro uživatele, pokud je zadáno.

GetUser(Object, Boolean)

Získá informace ze zdroje dat pro uživatele členství přidruženého k zadanému jedinečnému identifikátoru. Aktualizuje datum a čas poslední aktivity pro uživatele, pokud je zadáno.

GetUser(String)

Získá informace ze zdroje dat pro zadaného uživatele členství.

GetUser(Boolean)

Získá informace ze zdroje dat pro aktuální přihlášený uživatel členství. Pokud je zadáno, aktualizuje datum a čas poslední aktivity pro aktuálního přihlášeného uživatele členství.

GetUser()

Získá informace ze zdroje dat a aktualizuje datum a časové razítko poslední aktivity pro aktuální přihlášený uživatel členství.

GetUser(Object)

Získá informace ze zdroje dat pro uživatele členství přidruženého k zadanému jedinečnému identifikátoru.

GetUser(String, Boolean)

Získá informace ze zdroje dat pro zadaného uživatele členství. Aktualizuje datum a čas poslední aktivity pro uživatele, pokud je zadáno.

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

Parametry

username
String

Jméno uživatele, který se má načíst.

userIsOnline
Boolean

Pokud true, aktualizuje datum a čas poslední aktivity pro zadaného uživatele.

Návraty

Objekt MembershipUser představující zadaného uživatele. username Pokud parametr neodpovídá existujícímu uživateli, vrátí nulltato metoda .

Výjimky

username obsahuje čárku (,).

username je null.

Příklady

Následující příklad kódu načte heslo pro zadané uživatelské jméno a odešle ho na e-mailovou adresu zadaného uživatele. Volání GetUser metody určuje, že se datum a čas poslední aktivity uživatele neaktualizují.

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

Poznámky

Metoda GetUser načte informace o uživateli ze zdroje dat a vytvoří MembershipUser objekt naplněný vrácenými daty.

Pokud použijete jedno z GetUser přetížení, které nepřebírají username parametr, GetUser vrátí informace pro aktuální přihlášeného uživatele členství. Aktuální přihlášený člen je identifikován uživatelem Name v aktuálním HttpContext.

Můžete také určit, jestli chcete GetUser aktualizovat datum a čas poslední aktivity pro uživatele, který se načítá, pomocí parametru userIsOnline . GetUser Z přetížení, která nepřebírají userIsOnline parametr, Membership.GetUser implicitně aktualizuje datum a čas poslední aktivity pro uživatele. Membership.GetUser a GetUser ne.

Viz také

Platí pro

GetUser(Object, Boolean)

Získá informace ze zdroje dat pro uživatele členství přidruženého k zadanému jedinečnému identifikátoru. Aktualizuje datum a čas poslední aktivity pro uživatele, pokud je zadáno.

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

Parametry

providerUserKey
Object

Jedinečný identifikátor uživatele ze zdroje dat členství pro uživatele.

userIsOnline
Boolean

Pokud true, aktualizuje datum a čas poslední aktivity pro zadaného uživatele.

Návraty

Objekt MembershipUser představující uživatele přidruženého k zadanému jedinečnému identifikátoru.

Výjimky

providerUserKey je null.

Poznámky

Metoda GetUser načte informace o uživateli ze zdroje dat a vytvoří MembershipUser objekt naplněný vrácenými daty. Uživatel je identifikován jedinečným identifikátorem ze zdroje dat zadaného v parametru providerUserKey .

Viz také

Platí pro

GetUser(String)

Získá informace ze zdroje dat pro zadaného uživatele členství.

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

Parametry

username
String

Jméno uživatele, který se má načíst.

Návraty

Objekt MembershipUser představující zadaného uživatele. username Pokud parametr neodpovídá existujícímu uživateli, vrátí nulltato metoda .

Výjimky

username obsahuje čárku (,).

username je null.

Příklady

Následující příklad kódu používá metodu GetUser k vrácení objektu MembershipUser pro aktuální přihlášený uživatel a aktualizuje e-mailovou adresu uživatele.

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

Poznámky

Metoda GetUser načte informace o uživateli ze zdroje dat a vytvoří MembershipUser objekt naplněný vrácenými daty. Pokud použijete jedno z GetUser přetížení, které nepřebírají username parametr, GetUser vrátí informace pro aktuální přihlášeného uživatele členství. Aktuální přihlášený člen je identifikován uživatelem Name v aktuálním HttpContext.

Můžete také určit, jestli chcete GetUser aktualizovat datum a čas poslední aktivity pro uživatele, který se načítá, pomocí parametru userIsOnline . GetUser Z přetížení, která nepřebírají userIsOnline parametr, Membership.GetUser implicitně aktualizuje datum a čas poslední aktivity pro uživatele. Membership.GetUser a GetUser ne.

Viz také

Platí pro

GetUser(Boolean)

Získá informace ze zdroje dat pro aktuální přihlášený uživatel členství. Pokud je zadáno, aktualizuje datum a čas poslední aktivity pro aktuálního přihlášeného uživatele členství.

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

Parametry

userIsOnline
Boolean

Pokud true, aktualizuje datum a čas poslední aktivity pro zadaného uživatele.

Návraty

Objekt MembershipUser představující aktuálního přihlášeného uživatele.

Výjimky

Nyní není přihlášen žádný uživatel členství.

Příklady

Následující příklad kódu zobrazí uživatelské jméno aktuálního přihlášeného uživatele členství na stránce ASP.NET bez aktualizace data a času poslední aktivity pro uživatele.

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

Poznámky

Metoda GetUser načte informace o uživateli ze zdroje dat a vytvoří MembershipUser objekt naplněný vrácenými daty. Pokud použijete jedno z GetUser přetížení, které nepřebírají username parametr, GetUser vrátí informace pro aktuální přihlášeného uživatele členství. Aktuální přihlášený člen je identifikován uživatelem Name v aktuálním HttpContext.

Můžete také určit, jestli chcete GetUser aktualizovat datum a čas poslední aktivity pro uživatele, který se načítá, pomocí parametru userIsOnline . GetUser Z přetížení, která nepřebírají userIsOnline parametr, GetUser() implicitně aktualizuje datum a čas poslední aktivity pro uživatele. GetUser(System.String) a GetUser(System.Object) ne.

Viz také

Platí pro

GetUser()

Získá informace ze zdroje dat a aktualizuje datum a časové razítko poslední aktivity pro aktuální přihlášený uživatel členství.

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

Návraty

Objekt MembershipUser představující aktuálního přihlášeného uživatele.

Výjimky

Nyní není přihlášen žádný uživatel členství.

Příklady

Následující příklad kódu aktualizuje datum a čas poslední aktivity pro aktuální přihlášeného uživatele členství a zobrazí uživatelské jméno na ASP.NET stránce.

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

Poznámky

GetUser() načte informace o uživateli ze zdroje dat a vytvoří objekt naplněný MembershipUser vrácenými daty. Pokud použijete jedno z GetUser přetížení, které nepřebírají username parametr, GetUser vrátí informace pro aktuální přihlášeného uživatele členství. Aktuální přihlášený člen je identifikován uživatelem Name v aktuálním HttpContext.

Můžete také určit, jestli chcete GetUser aktualizovat datum a čas poslední aktivity pro uživatele, který se načítá, pomocí parametru userIsOnline . GetUser Z přetížení, která nepřebírají userIsOnline parametr, GetUser() implicitně aktualizuje datum a čas poslední aktivity pro uživatele. GetUser(System.String) a GetUser(System.Object) ne.

Viz také

Platí pro

GetUser(Object)

Získá informace ze zdroje dat pro uživatele členství přidruženého k zadanému jedinečnému identifikátoru.

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

Parametry

providerUserKey
Object

Jedinečný identifikátor uživatele ze zdroje dat členství pro uživatele.

Návraty

Objekt MembershipUser představující uživatele přidruženého k zadanému jedinečnému identifikátoru.

Výjimky

providerUserKey je null.

Poznámky

Metoda GetUser načte informace o uživateli ze zdroje dat a vytvoří MembershipUser objekt naplněný vrácenými daty. Uživatel je identifikován pomocí jedinečného identifikátoru ze zdroje dat zadaného pomocí parametru providerUserKey .

Můžete také určit, jestli chcete GetUser aktualizovat datum a čas poslední aktivity pro uživatele, který se načítá, pomocí parametru userIsOnline . GetUser Z přetížení, která nepřebírají userIsOnline parametr, GetUser() implicitně aktualizuje datum a čas poslední aktivity pro uživatele. GetUser(System.String) a GetUser(System.Object) nepoužívejte

Viz také

Platí pro