Поделиться через


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 объект можно сериализовать и десериализировать без создания исключений.

ActiveDirectoryMembershipUser Объект возвращается GetUser методами и CreateUser методами, MembershipUserCollection возвращаемыми GetAllUsersFindUsersByNameметодами и FindUsersByEmail методами.

Объект ActiveDirectoryMembershipUser требуется методом UpdateUser , если требуется обновить сведения для существующего пользователя членства.

ActiveDirectoryMembershipUser свойства сопоставляются с атрибутами Active Directory. В следующей таблице перечислены ActiveDirectoryMembershipUser свойства и их сопоставления атрибутов по умолчанию.

Недвижимость Атрибут каталога по умолчанию Можно ли сопоставить?
ProviderUserKey securityIdentifier Нет
UserName userPrincipalName Да, но должен быть userPrincipalName или sAMAccountName
Comment comment Нет
CreationDate whenCreated Нет
Email 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)
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)

Применяется к

См. также раздел