ActiveDirectoryMembershipUser 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
公開及更新 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由於成員資格提供者所傳回之物件的物件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 如此一來,就可以串行化和還原串行化物件,而不會擲回例外狀況。
ActiveDirectoryMembershipUser和 CreateUser 方法會傳GetUser回 物件,或 做為 、 FindUsersByName和 FindUsersByEmail 方法所傳回的 GetAllUsers一MembershipUserCollection部分。
ActiveDirectoryMembershipUser當您想要更新現有成員資格用戶的資訊時,方法需要 UpdateUser 物件。
ActiveDirectoryMembershipUser 屬性會對應至 Active Directory 屬性。 下表列出 ActiveDirectoryMembershipUser 屬性及其預設屬性對應。
屬性 | 預設目錄屬性 | 可以對應嗎? |
---|---|---|
ProviderUserKey | securityIdentifier |
否 |
UserName | userPrincipalName |
是,但必須是 userPrincipalName 或 sAMAccountName |
Comment | comment |
否 |
CreationDate | whenCreated |
否 |
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) 上的 (ADmsDS-User-Account-Control-Computed adam () |
否 |
LastLockoutDate | 如果因為密碼嘗試太多而遭到鎖定,則會傳回鎖定時間屬性。 如果因密碼答案嘗試太多而遭到鎖定,則會傳回儲存在 所 attributeMapFailedPasswordAnswerLockoutTime 定義屬性中的值。如果因為密碼錯誤和太多錯誤的密碼嘗試而遭到鎖定,則會傳回最新的日期/時間值。 如果帳戶未鎖定,請傳回 1/1/1753 以取得 SQL 相容性。 |
否 |
建構函式
屬性
Comment |
取得或設定成員資格使用者的應用程式特定資訊。 |
CreationDate |
取得將使用者加入成員資格資料存放區的日期和時間。 (繼承來源 MembershipUser) |
取得或設定成員資格使用者的電子郵件地址。 |
|
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) |