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 Так как объект, который лежит 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 методами, MembershipUserCollection возвращаемыми GetAllUsersFindUsersByNameметодами и FindUsersByEmail методами.
Объект ActiveDirectoryMembershipUser требуется методом UpdateUser , если требуется обновить сведения для существующего пользователя членства.
ActiveDirectoryMembershipUser свойства сопоставляются с атрибутами Active Directory. В следующей таблице перечислены ActiveDirectoryMembershipUser свойства и их сопоставления атрибутов по умолчанию.
| Недвижимость | Атрибут каталога по умолчанию | Можно ли сопоставить? |
|---|---|---|
| ProviderUserKey | securityIdentifier |
Нет |
| UserName | userPrincipalName |
Да, но должен быть userPrincipalName или sAMAccountName |
| Comment | comment |
Нет |
| CreationDate | whenCreated |
Нет |
mail |
Да, но должен быть однозначным атрибутом типа Юникод String. | |
| LastActivityDate | n/a | Не поддерживается ActiveDirectoryMembershipProvider. |
| LastLoginDate | n/a | Не поддерживается ActiveDirectoryMembershipProvider. |
| LastPasswordChangedDate | pwdLastSet |
Нет |
| PasswordQuestion | значение не должно быть сопоставлено с атрибутом, если используется безопасность вопросов и ответов для сброса пароля или извлечения. | Да, но должен быть однозначным атрибутом типа Юникод String. |
| IsApproved |
User-Account-Control (AD)mDS-UserAccountDisabled (АДАМ) |
Нет |
| IsLockedOut | вычисляется из lockoutTime и продолжительности блокировки AD (AD в Windows 2000)msDS-User-Account-Control-Computed (AD в Windows Server 2003)msDS-User-Account-Control-Computed (АДАМ) |
Нет |
| 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) |
|
Возвращает или задает адрес электронной почты пользователя членства. |
|
| 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) |