Membership.GetUser Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает информацию из источника данных для пользователя членства.
Перегрузки
GetUser(String, Boolean) |
Возвращает из источника данных информацию для указанного пользователя членства. Обновляет отметку о дате и времени последней операции пользователя, если это указано. |
GetUser(Object, Boolean) |
Возвращает информацию из источника данных для пользователя членства, связанного с определенным уникальным идентификатором. Обновляет отметку о дате и времени последней операции пользователя, если это указано. |
GetUser(String) |
Возвращает из источника данных информацию для указанного пользователя членства. |
GetUser(Boolean) |
Возвращает информацию из источника данных для текущего вошедшего пользователя членства. Обновляет отметку о времени и дате последней активности для текущего вошедшего пользователя, если это указано. |
GetUser() |
Возвращает информацию из источника данных и обновляет отметку о времени и дате последней операции для текущего пользователя членства, вошедшего в систему. |
GetUser(Object) |
Возвращает информацию из источника данных для пользователя членства, связанного с определенным уникальным идентификатором. |
GetUser(String, Boolean)
Возвращает из источника данных информацию для указанного пользователя членства. Обновляет отметку о дате и времени последней операции пользователя, если это указано.
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
Параметры
- username
- String
Имя извлекаемого пользователя.
- userIsOnline
- Boolean
Если true
, обновляет отметку о дате и времени последней операции для указанного пользователя.
Возвращаемое значение
Объект MembershipUser, представляющий указанного пользователя. Если параметр username
не соответствует существующему пользователю, этот метод возвращает null
.
Исключения
username
содержит запятую (,).
username
имеет значение null
.
Примеры
В следующем примере кода извлекается пароль для указанного имени пользователя и отправляется на адрес электронной почты указанного пользователя. Вызов GetUser указывает, что метка даты и времени последнего действия для пользователя не обновляется.
<%@ 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>
Комментарии
Метод GetUser извлекает сведения о пользователе из источника данных и создает объект, MembershipUser заполненный возвращенными данными.
При использовании одной из GetUser перегрузок, которая не принимает username
параметр, GetUser возвращает сведения для текущего пользователя, вошедшего в систему. Текущий пользователь, вошедший в систему, определяется Name пользователем в текущем HttpContext.
Можно также указать, следует GetUser ли обновлять метку даты и времени последнего действия для извлекаемого пользователя с помощью userIsOnline
параметра .
GetUser Из перегрузок, которые не принимают userIsOnline
параметр, Membership.GetUser неявно обновляет метку даты и времени последнего действия для пользователя.
Membership.GetUser и GetUser нет.
См. также раздел
Применяется к
GetUser(Object, Boolean)
Возвращает информацию из источника данных для пользователя членства, связанного с определенным уникальным идентификатором. Обновляет отметку о дате и времени последней операции пользователя, если это указано.
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
Параметры
- providerUserKey
- Object
Уникальный идентификатор пользователя из источника данных членства для пользователя.
- userIsOnline
- Boolean
Если true
, обновляет отметку о дате и времени последней операции для указанного пользователя.
Возвращаемое значение
Объект MembershipUser, представляющий пользователя, связанного с уникальным идентификатором.
Исключения
providerUserKey
имеет значение null
.
Комментарии
Метод GetUser извлекает сведения о пользователе из источника данных и создает объект, MembershipUser заполненный возвращенными данными. Пользователь идентифицируется с помощью уникального идентификатора из источника данных, указанного в параметре providerUserKey
.
См. также раздел
Применяется к
GetUser(String)
Возвращает из источника данных информацию для указанного пользователя членства.
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
Параметры
- username
- String
Имя извлекаемого пользователя.
Возвращаемое значение
Объект MembershipUser, представляющий указанного пользователя. Если параметр username
не соответствует существующему пользователю, этот метод возвращает null
.
Исключения
username
содержит запятую (,).
username
имеет значение null
.
Примеры
В следующем примере кода метод используется GetUser для возврата MembershipUser объекта для текущего пользователя, выполнившего вход, и обновляет адрес электронной почты пользователя.
<%@ 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>
Комментарии
Метод GetUser извлекает сведения о пользователе из источника данных и создает объект, MembershipUser заполненный возвращенными данными. При использовании одной из GetUser перегрузок, которая не принимает username
параметр, GetUser возвращает сведения для текущего пользователя, вошедшего в систему. Текущий пользователь, вошедший в систему, определяется Name пользователем в текущем HttpContext.
Можно также указать, следует GetUser ли обновлять метку даты и времени последнего действия для извлекаемого пользователя с помощью userIsOnline
параметра .
GetUser Из перегрузок, которые не принимают userIsOnline
параметр, Membership.GetUser неявно обновляет метку даты и времени последнего действия для пользователя.
Membership.GetUser и GetUser нет.
См. также раздел
Применяется к
GetUser(Boolean)
Возвращает информацию из источника данных для текущего вошедшего пользователя членства. Обновляет отметку о времени и дате последней активности для текущего вошедшего пользователя, если это указано.
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
Параметры
- userIsOnline
- Boolean
Если true
, обновляет отметку о дате и времени последней операции для указанного пользователя.
Возвращаемое значение
Объект MembershipUser, представляющий текущего пользователя, вошедшего в систему.
Исключения
В настоящее время в системе не работает ни один авторизованный пользователь.
Примеры
В следующем примере кода отображается имя текущего пользователя, вошедшего в систему, на странице 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(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>
Комментарии
Метод GetUser извлекает сведения о пользователе из источника данных и создает объект, MembershipUser заполненный возвращенными данными. При использовании одной из GetUser перегрузок, которая не принимает username
параметр, GetUser возвращает сведения для текущего пользователя, вошедшего в систему. Текущий пользователь, вошедший в систему, определяется Name пользователем в текущем HttpContext.
Можно также указать, следует GetUser ли обновлять метку даты и времени последнего действия для извлекаемого пользователя с помощью userIsOnline
параметра .
GetUser Из перегрузок, которые не принимают userIsOnline
параметр, GetUser()
неявно обновляет метку даты и времени последнего действия для пользователя.
GetUser(System.String)
и GetUser(System.Object)
нет.
См. также раздел
Применяется к
GetUser()
Возвращает информацию из источника данных и обновляет отметку о времени и дате последней операции для текущего пользователя членства, вошедшего в систему.
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
Возвращаемое значение
Объект MembershipUser, представляющий текущего пользователя, вошедшего в систему.
Исключения
В настоящее время в системе не работает ни один авторизованный пользователь.
Примеры
В следующем примере кода обновляется метка даты и времени последнего действия для текущего пользователя, вошедшего в систему, и отображается имя пользователя на странице 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>
Комментарии
GetUser() извлекает сведения о пользователе из источника данных и создает объект, MembershipUser заполненный возвращенными данными. При использовании одной из GetUser перегрузок, которая не принимает username
параметр, GetUser возвращает сведения для текущего пользователя, вошедшего в систему. Текущий пользователь, вошедший в систему, определяется Name пользователем в текущем HttpContext.
Можно также указать, следует GetUser ли обновлять метку даты и времени последнего действия для извлекаемого пользователя с помощью userIsOnline
параметра .
GetUser Из перегрузок, которые не принимают userIsOnline
параметр, GetUser()
неявно обновляет метку даты и времени последнего действия для пользователя.
GetUser(System.String)
и GetUser(System.Object)
нет.
См. также раздел
Применяется к
GetUser(Object)
Возвращает информацию из источника данных для пользователя членства, связанного с определенным уникальным идентификатором.
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
Параметры
- providerUserKey
- Object
Уникальный идентификатор пользователя из источника данных членства для пользователя.
Возвращаемое значение
Объект MembershipUser, представляющий пользователя, связанного с уникальным идентификатором.
Исключения
providerUserKey
имеет значение null
.
Комментарии
Метод GetUser извлекает сведения о пользователе из источника данных и создает объект, MembershipUser заполненный возвращенными данными. Пользователь идентифицируется с помощью уникального идентификатора из источника данных, указанного providerUserKey
с помощью параметра .
Можно также указать, следует GetUser ли обновлять метку даты и времени последнего действия для извлекаемого пользователя с помощью userIsOnline
параметра .
GetUser Из перегрузок, которые не принимают userIsOnline
параметр, GetUser()
неявно обновляет метку даты и времени последнего действия для пользователя.
GetUser(System.String)
и GetUser(System.Object)
не