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


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 методами GetAllUsers, FindUsersByNameи FindUsersByEmail .

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

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

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

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

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