ActiveDirectoryMembershipUser クラス

定義

Active Directory データ ストアに格納されているメンバーシップ ユーザー情報を公開および更新します。

public ref class ActiveDirectoryMembershipUser : System::Web::Security::MembershipUser
[System.Serializable]
public class ActiveDirectoryMembershipUser : System.Web.Security.MembershipUser
[<System.Serializable>]
type ActiveDirectoryMembershipUser = class
    inherit MembershipUser
Public Class ActiveDirectoryMembershipUser
Inherits MembershipUser
継承
ActiveDirectoryMembershipUser
属性

次のコード例では、複数のメンバーシップ データ ストアからユーザー情報を ActiveDirectoryMembershipUser 返す可能性がある Web ページ上の オブジェクトのプロパティを使用する方法を示します。 メンバーシップ プロバイダーによって返されるオブジェクトのActiveDirectoryMembershipUserMembershipUser基になるオブジェクトには プロパティと LastLoginDate プロパティが実装LastActivityDateされていないため、コードは、まず、メンバーシップ プロバイダーから返されたユーザー オブジェクトの型を確認してから、それらのプロパティの内容を表示します。


<%@ Page Language="C#" %>

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

<script runat="server">

  protected void Page_Load(object sender, EventArgs e)
  {
    MembershipUser user =
        Membership.GetUser();

    userName.Text = user.UserName;
    emailAddress.Text = user.Email;

    // <Snippet2>
    if (user is ActiveDirectoryMembershipUser)
    {
      lastLoginDate.Text = "Not available";
      lastActivityDate.Text = "Not available";
    }
    else
    {
      lastLoginDate.Text = user.LastLoginDate.ToShortDateString();
      lastActivityDate.Text = user.LastActivityDate.ToShortDateString();
    }
    // </Snippet2>   
    
    // <Snippet3>
    System.Security.Principal.SecurityIdentifier sidValue =
      (System.Security.Principal.SecurityIdentifier)user.ProviderUserKey;

    sid.Text = sidValue.ToString();
    // </Snippet3>
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>User information</title>
</head>
<body>
  <form id="form1" runat="server">
    <div>
      <table>
        <tr>
          <td>
            User name:</td>
          <td>
            <asp:Literal ID="userName" runat="server" /></td>
        </tr>
        <tr>
          <td>
            Email Address:</td>
          <td>
            <asp:Literal ID="emailAddress" runat="server" /></td>
        </tr>
        <tr>
          <td>
            Last Login Date:</td>
          <td>
            <asp:Literal ID="lastLoginDate" runat="server" /></td>
        </tr>
        <tr>
          <td>
            Last Activity Date:</td>
          <td>
            <asp:Literal ID="lastActivityDate" runat="server" /></td>
        </tr>
        <tr>
          <td>
            Security Identifier SID:</td>
          <td>
            <asp:Literal ID="sid" runat="server" /></td>
        </tr>
      </table>
    </div>
  </form>
</body>
</html>

<%@ Page Language="VB" %>

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

<script runat="server">

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
    Dim user As MembershipUser = Membership.GetUser()
        
    userName.Text = user.UserName
    emailAddress.Text = user.Email
        
    ' <Snippet2>
    If TypeOf (user) Is ActiveDirectoryMembershipUser Then
      lastLoginDate.Text = "Not available"
      lastActivityDate.Text = "Not available"
    Else
      lastLoginDate.Text = user.LastLoginDate.ToString()
      lastActivityDate.Text = user.LastActivityDate.ToString()
    End If
    ' </Snippet2>
    
    ' <Snippet3>
    Dim sidValue As System.Security.Principal.SecurityIdentifier
    sidValue = CType(user.ProviderUserKey, System.Security.Principal.SecurityIdentifier)
    
    sid.Text = sidValue.ToString()
    ' </Snippet3>
  End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>User information page</title>
</head>
<body>
  <form id="form1" runat="server">
    <div>
      <table>
        <tr>
          <td>
            User name:</td>
          <td>
            <asp:Literal ID="userName" runat="server" /></td>
        </tr>
        <tr>
          <td>
            Email Address:</td>
          <td>
            <asp:Literal ID="emailAddress" runat="server" /></td>
        </tr>
        <tr>
          <td>
            Last Login Date:</td>
          <td>
            <asp:Literal ID="lastLoginDate" runat="server" /></td>
        </tr>
        <tr>
          <td>
            Last Activity Date:</td>
          <td>
            <asp:Literal ID="lastActivityDate" runat="server" /></td>
        </tr>
        <tr>
          <td>
            Security Identifier SID:</td>
          <td>
            <asp:Literal ID="sid" runat="server" /></td>
        </tr>
      </table>
    </div>
  </form>
</body>
</html>

注釈

オブジェクトは ActiveDirectoryMembershipUser 、Active Directory メンバーシップ データ ストアの 1 人のメンバーシップ ユーザーを表すために使用されます。 電子メール アドレスなどのメンバーシップ ユーザーに関する情報が公開され、メンバーシップ ユーザーに対してパスワードの変更やリセットなどの機能が提供されます。

ActiveDirectoryMembershipUser Active Directory データ ストアを使用するようにアプリケーションが構成されるたびに、アプリケーションのメンバーシップ プロバイダーによってオブジェクトが返されます。 異なるデータ ストアを使用するように構成できるアプリケーション、または複数のデータ ストアを使用するアプリケーションでは、 MembershipUser基底クラス である を参照できます。 オブジェクトには ActiveDirectoryMembershipUser プロパティと LastLoginDate プロパティが実装LastActivityDateされていないため、オブジェクトでこれらのメンバーにアクセスしたときにスローされる をNotSupportedException処理する準備がActiveDirectoryMembershipUser必要です。

クラスは ActiveDirectoryMembershipUser 、 メソッドの呼び出し時に発生する属性更新の数を最小限に抑えるために、 クラスによって ActiveDirectoryMembershipProvider 使用される内部最適化を UpdateUser 実装します。 また、(プロパティで使用可能な) 表現をProviderUserKeyシリアル化SecurityIdentifierして、例外をActiveDirectoryMembershipUserスローせずにオブジェクトをシリアル化および逆シリアル化できるようにします。

ActiveDirectoryMembershipUserオブジェクトは、 メソッドと CreateUser メソッドによってGetUser返されるか、および FindUsersByEmail メソッドによってGetAllUsersFindUsersByName返される のMembershipUserCollection一部として返されます。

既存の ActiveDirectoryMembershipUser メンバーシップ ユーザーの情報を UpdateUser 更新する場合は、 メソッドで オブジェクトが必要です。

ActiveDirectoryMembershipUser プロパティは Active Directory 属性にマップされます。 次の表に、 ActiveDirectoryMembershipUser プロパティとその既定の属性マッピングを示します。

プロパティ 既定のディレクトリ属性 マップできますか?
ProviderUserKey securityIdentifier いいえ
UserName userPrincipalName はい。ただし、userPrincipalName または sAMAccountName である必要があります
Comment comment いいえ
CreationDate whenCreated いいえ
Email mail はい。ただし、Unicode String 型の単一値属性である必要があります。
LastActivityDate 該当なし では ActiveDirectoryMembershipProviderサポートされていません。
LastLoginDate 該当なし では ActiveDirectoryMembershipProviderサポートされていません。
LastPasswordChangedDate pwdLastSet いいえ
PasswordQuestion なし。ただし、パスワードのリセットまたは取得に質問と回答のセキュリティを使用する場合は、属性にマップする必要があります。 はい。ただし、Unicode String 型の単一値属性である必要があります。
IsApproved User-Account-Control (AD)

mDS-UserAccountDisabled (ADAM)
いいえ
IsLockedOut lockoutTimeと から計算された AD ロックアウト期間 (Windows 2000 の AD)

msDS-User-Account-Control-Computed (Windows Server 2003 の AD)

msDS-User-Account-Control-Computed (ADAM)
いいえ
LastLockoutDate 不正なパスワードの試行が多すぎるためにロックアウトされた場合は、ロックアウト時間属性が返されます。

不正なパスワード応答の試行が多すぎるためにロックアウトされた場合は、 で attributeMapFailedPasswordAnswerLockoutTime 定義された 属性に格納されている値が返されます。

パスワードが正しくないためにロックアウトされ、パスワードの試行が多すぎる場合は、最新の日付/時刻値が返されます。

アカウントがロックアウトされていない場合は、SQL 互換性のために 1/1/1753 を返します。
いいえ

コンストラクター

ActiveDirectoryMembershipUser()

ActiveDirectoryMembershipUser クラスを継承するクラスに対し、ActiveDirectoryMembershipUser オブジェクトの新しいインスタンスを初期化します。

ActiveDirectoryMembershipUser(String, String, Object, String, String, String, Boolean, Boolean, DateTime, DateTime, DateTime, DateTime, DateTime)

指定したプロパティ値を使用して、ActiveDirectoryMembershipUser クラスの新しいインスタンスを作成します。

プロパティ

Comment

メンバーシップ ユーザーのアプリケーション固有情報を取得または設定します。

CreationDate

ユーザーがメンバーシップ データ ストアに追加された日時を取得します。

(継承元 MembershipUser)
Email

メンバーシップ ユーザーの電子メール アドレスを取得または設定します。

IsApproved

メンバーシップ ユーザーを認証できるかどうかを示す値を取得または設定します。

IsLockedOut

メンバーシップ ユーザーがロックされ、検証できない状態かどうかを示す値を取得します。

(継承元 MembershipUser)
IsOnline

ユーザーが現在オンラインかどうかを取得します。

(継承元 MembershipUser)
LastActivityDate

常に NotSupportedException 例外をスローします。

LastLockoutDate

メンバーシップのユーザーがロックアウトされた直近の日時を取得します。

(継承元 MembershipUser)
LastLoginDate

常に NotSupportedException 例外をスローします。

LastPasswordChangedDate

メンバーシップ ユーザーのパスワードが最後に更新された日時を取得します。

(継承元 MembershipUser)
PasswordQuestion

メンバーシップ ユーザーのパスワードの質問を取得します。

(継承元 MembershipUser)
ProviderName

メンバーシップ ユーザーのユーザー情報を保管および取得するメンバーシップ プロバイダーの名前を取得します。

(継承元 MembershipUser)
ProviderUserKey

Active Directory データ ストアからメンバーシップ ユーザーのユーザー ID を取得します。

UserName

メンバーシップ ユーザーのログオン名を取得します。

(継承元 MembershipUser)

メソッド

ChangePassword(String, String)

メンバーシップ データ ストア内のメンバーシップ ユーザーのパスワードを更新します。

(継承元 MembershipUser)
ChangePasswordQuestionAndAnswer(String, String, String)

メンバーシップ データ ストア内のメンバーシップ ユーザーのパスワードの質問と答えを更新します。

(継承元 MembershipUser)
Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetPassword()

メンバーシップ データ ストアからメンバーシップ ユーザーのパスワードを取得します。

(継承元 MembershipUser)
GetPassword(String)

メンバーシップ データ ストアからメンバーシップ ユーザーのパスワードを取得します。

(継承元 MembershipUser)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ResetPassword()

ユーザーのパスワードをリセットして、自動的に生成された新しいパスワードにします。

(継承元 MembershipUser)
ResetPassword(String)

ユーザーのパスワードをリセットして、自動的に生成された新しいパスワードにします。

(継承元 MembershipUser)
ToString()

メンバーシップのユーザーのユーザー名を返します。

(継承元 MembershipUser)
UnlockUser()

ユーザーのロック アウト状態を解除して、メンバーシップ ユーザーを検証可能な状態にします。

(継承元 MembershipUser)

適用対象

こちらもご覧ください