次の方法で共有


Membership.GetUser メソッド

定義

データ ソースからメンバーシップ ユーザーの情報を取得します。

オーバーロード

GetUser(String, Boolean)

指定したメンバーシップ ユーザーの情報をデータ ソースから取得します。 そのユーザーの最終利用日時スタンプを更新するように指定することもできます。

GetUser(Object, Boolean)

指定した一意の ID と関連付けられているメンバーシップ ユーザーの情報をデータ ソースから取得します。 そのユーザーの最終利用日時スタンプを更新するように指定することもできます。

GetUser(String)

指定したメンバーシップ ユーザーの情報をデータ ソースから取得します。

GetUser(Boolean)

現在ログオンしているメンバーシップ ユーザーの情報をデータ ソースから取得します。 現在ログオンしているメンバーシップ ユーザーの最終利用日時スタンプを更新するように指定することもできます。

GetUser()

データ ソースから情報を取得し、現在ログオンしているメンバーシップ ユーザーの最終利用日時スタンプを更新します。

GetUser(Object)

指定した一意の ID と関連付けられているメンバーシップ ユーザーの情報をデータ ソースから取得します。

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 にコンマ (,) が含まれています。

usernamenullです。

次のコード例では、指定したユーザー名のパスワードを取得し、指定したユーザーのメール アドレスに送信します。 を 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 現在ログオンしているメンバーシップ ユーザーの情報を返します。 現在のログオン メンバーシップ ユーザーは、現在HttpContextの のユーザーの によってName識別されます。

パラメーターを使用して取得userIsOnlineするユーザーの最終アクティビティの日付/時刻スタンプを更新するかどうかをGetUser指定することもできます。 パラメーターを GetUser 受け取 userIsOnline らないオーバーロードのうち、 Membership.GetUser ユーザーの最終アクティビティの日付/時刻スタンプを暗黙的に更新します。 Membership.GetUserGetUser は行いません。

こちらもご覧ください

適用対象

GetUser(Object, Boolean)

指定した一意の ID と関連付けられているメンバーシップ ユーザーの情報をデータ ソースから取得します。 そのユーザーの最終利用日時スタンプを更新するように指定することもできます。

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

メンバーシップ データ ソース内の一意のユーザー ID。

userIsOnline
Boolean

true の場合、指定したユーザーの最終利用日時スタンプを更新します。

戻り値

指定した一意の ID に関連付けられているユーザーを表す MembershipUser オブジェクト。

例外

providerUserKeynull です。

注釈

メソッドは 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 にコンマ (,) が含まれています。

usernamenullです。

次のコード例では、 メソッドを 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 現在ログオンしているメンバーシップ ユーザーの情報を返します。 現在のログオン メンバーシップ ユーザーは、現在HttpContextの のユーザーの によってName識別されます。

パラメーターを使用して取得userIsOnlineするユーザーの最終アクティビティの日付/時刻スタンプを更新するかどうかをGetUser指定することもできます。 パラメーターを GetUser 受け取 userIsOnline らないオーバーロードのうち、 Membership.GetUser ユーザーの最終アクティビティの日付/時刻スタンプを暗黙的に更新します。 Membership.GetUserGetUser は行いません。

こちらもご覧ください

適用対象

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 現在ログオンしているメンバーシップ ユーザーの情報を返します。 現在のログオン メンバーシップ ユーザーは、現在HttpContextの のユーザーの によってName識別されます。

パラメーターを使用してuserIsOnline、取得するユーザーの最終アクティビティの日付/時刻スタンプを更新するかどうかをGetUser指定することもできます。 パラメーターを 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 現在ログオンしているメンバーシップ ユーザーの情報を返します。 現在のログオン メンバーシップ ユーザーは、現在HttpContextの のユーザーの によってName識別されます。

パラメーターを使用してuserIsOnline、取得するユーザーの最終アクティビティの日付/時刻スタンプを更新するかどうかをGetUser指定することもできます。 パラメーターを GetUser 受け取 userIsOnline らないオーバーロードのうち、 GetUser() ユーザーの最終アクティビティの日付/時刻スタンプを暗黙的に更新します。 GetUser(System.String)GetUser(System.Object) は行いません。

こちらもご覧ください

適用対象

GetUser(Object)

指定した一意の ID と関連付けられているメンバーシップ ユーザーの情報をデータ ソースから取得します。

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

メンバーシップ データ ソース内の一意のユーザー ID。

戻り値

指定した一意の ID に関連付けられているユーザーを表す MembershipUser オブジェクト。

例外

providerUserKeynull です。

注釈

メソッドは GetUser 、データ ソースからユーザー情報を取得し、返されたデータが MembershipUser 設定されたオブジェクトを作成します。 ユーザーは、 パラメーターを使用して指定されたデータ ソースの一意識別子を providerUserKey 使用して識別されます。

パラメーターを使用して取得userIsOnlineするユーザーの最終アクティビティの日付/時刻スタンプを更新するかどうかをGetUser指定することもできます。 パラメーターを GetUser 受け取 userIsOnline らないオーバーロードのうち、 GetUser() ユーザーの最終アクティビティの日付/時刻スタンプを暗黙的に更新します。 GetUser(System.String)GetUser(System.Object) は実行しません

こちらもご覧ください

適用対象