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