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由 GetUser 和 CreateUser 方法返回,或作为 、 FindUsersByName和 FindUsersByEmail 方法返回的 的一GetAllUsers部分MembershipUserCollection。
ActiveDirectoryMembershipUser如果要更新现有成员身份用户的信息,UpdateUser方法需要 对象。
ActiveDirectoryMembershipUser 属性映射到 Active Directory 属性。 下表列出了 ActiveDirectoryMembershipUser 属性及其默认属性映射。
properties | 默认目录属性 | 是否可以映射? |
---|---|---|
ProviderUserKey | securityIdentifier |
否 |
UserName | userPrincipalName |
是,但必须是 userPrincipalName 或 sAMAccountName |
Comment | comment |
否 |
CreationDate | whenCreated |
否 |
mail |
是,但必须是 Unicode String 类型的单值属性。 | |
LastActivityDate | 不适用 | 不受 ActiveDirectoryMembershipProvider 支持。 |
LastLoginDate | 不适用 | 不受 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 兼容性。 |
否 |
构造函数
属性
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) |