共用方式為


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 ,以從多個成員資格數據存放區傳回用戶資訊。 ActiveDirectoryMembershipUser由於成員資格提供者所傳回之物件的物件MembershipUser不會實LastActivityDate作 和 LastLoginDate 屬性,因此程式代碼會先檢查從成員資格提供者傳回的用戶物件類型,再顯示這些屬性的內容。


<%@ 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 成員資格數據存放區中的單一成員資格使用者。 它會公開成員資格使用者的相關信息,例如電子郵件位址,並提供成員資格使用者的功能,例如變更或重設其密碼的能力。

ActiveDirectoryMembershipUser每當應用程式設定為使用 Active Directory 資料存放區時,應用程式的成員資格提供者就會傳回物件。 在可設定為使用不同的資料存放區,或在使用多個資料存放區的應用程式中,您可以參考基類 。 MembershipUser ActiveDirectoryMembershipUser因為物件不會實LastActivityDate作 和 LastLoginDate 屬性,所以您必須準備好處理NotSupportedException在物件上存取這些成員時所擲回的 ActiveDirectoryMembershipUser

類別 ActiveDirectoryMembershipUser 會實作 類別所使用的 ActiveDirectoryMembershipProvider 內部優化,以將呼叫 UpdateUser 方法時發生的屬性更新數目降到最低。 它也會串行化 SecurityIdentifier 屬性中 ProviderUserKey 可用的表示 () , ActiveDirectoryMembershipUser 如此一來,就可以串行化和還原串行化物件,而不會擲回例外狀況。

ActiveDirectoryMembershipUserCreateUser 方法會傳GetUser回 物件,或 做為 、 FindUsersByNameFindUsersByEmail 方法所傳回的 GetAllUsersMembershipUserCollection部分。

ActiveDirectoryMembershipUser當您想要更新現有成員資格用戶的資訊時,方法需要 UpdateUser 物件。

ActiveDirectoryMembershipUser 屬性會對應至 Active Directory 屬性。 下表列出 ActiveDirectoryMembershipUser 屬性及其預設屬性對應。

屬性 預設目錄屬性 可以對應嗎?
ProviderUserKey securityIdentifier
UserName userPrincipalName 是,但必須是 userPrincipalName 或 sAMAccountName
Comment comment
CreationDate whenCreated
Email mail 是,但必須是 Unicode String 類型的單一值屬性。
LastActivityDate n/a ActiveDirectoryMembershipProvider 不支援。
LastLoginDate n/a ActiveDirectoryMembershipProvider 不支援。
LastPasswordChangedDate pwdLastSet
PasswordQuestion 無,但如果使用密碼重設或擷取的問題與答案安全性,則必須對應至屬性。 是,但必須是 Unicode String 類型的單一值屬性。
IsApproved User-Account-Control (AD)

mDS-UserAccountDisabled adam ()
IsLockedOut 計算自 lockoutTime 和 Windows 2000 () AD 上的 AD 鎖定持續時間

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

msDS-User-Account-Control-Computed adam ()
LastLockoutDate 如果因為密碼嘗試太多而遭到鎖定,則會傳回鎖定時間屬性。

如果因密碼答案嘗試太多而遭到鎖定,則會傳回儲存在 所 attributeMapFailedPasswordAnswerLockoutTime 定義屬性中的值。

如果因為密碼錯誤和太多錯誤的密碼嘗試而遭到鎖定,則會傳回最新的日期/時間值。

如果帳戶未鎖定,請傳回 1/1/1753 以取得 SQL 相容性。

建構函式

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 資料存放區的使用者識別項。

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)

適用於

另請參閱