Membership Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Проверяет учетные данные пользователя и управляет параметрами пользователя. Этот класс не наследуется.
public ref class Membership abstract sealed
public static class Membership
type Membership = class
Public Class Membership
- Наследование
-
Membership
Примеры
В следующем примере кода показана страница входа для приложения ASP.NET, настроенного для использования проверки подлинности форм и ASP.NET членства. Если предоставленные учетные данные пользователя недопустимы, отображается сообщение пользователю. В противном случае пользователь перенаправляется на исходный запрошенный URL-адрес с помощью RedirectFromLoginPage метода.
Note
Элементы управления входа ASP.NET (Login; LoginView, LoginStatus, LoginName и PasswordRecovery) инкапсулируют практически всю логику, необходимую для запроса пользователей учетных данных и проверки учетных данных в системе членства и могут использоваться вместо программной проверки с помощью класса Membership.
Important
В этом примере содержится текстовое поле, которое принимает входные данные пользователя, которое является потенциальной угрозой безопасности. По умолчанию ASP.NET веб-страницы проверяют, что входные данные пользователя не включают скрипт или ЭЛЕМЕНТЫ HTML. Дополнительные сведения см. в разделе "Обзор эксплойтов скриптов".
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
public void Login_OnClick(object sender, EventArgs args)
{
if (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text))
FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked);
else
Msg.Text = "Login failed. Please check your user name and password and try again.";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Login</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Login</h3>
<asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />
Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br />
Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />
<asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" />
<asp:CheckBox id="NotPublicCheckBox" runat="server" />
Check here if this is <span style="text-decoration:underline">not</span> a public computer.
</form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Public Sub Login_OnClick(sender As Object, args As EventArgs)
If (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text)) Then
FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked)
Else
Msg.Text = "Login failed. Please check your user name and password and try again."
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Login</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Login</h3>
<asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />
Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br />
Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />
<asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" />
<asp:CheckBox id="NotPublicCheckBox" runat="server" />
Check here if this is <span style="text-decoration:underline">not</span> a public computer.
</form>
</body>
</html>
Комментарии
Класс Membership используется в приложениях ASP.NET для проверки учетных данных пользователей и управления параметрами пользователей, такими как пароли и адреса электронной почты. Класс Membership можно использовать самостоятельно или в сочетании с FormsAuthentication созданием полной системы для проверки подлинности пользователей веб-приложения или сайта. Элемент Login управления инкапсулирует Membership класс, чтобы обеспечить удобный механизм проверки пользователей.
Note
Если вы не знакомы с функциями членства ASP.NET, ознакомьтесь с введением в членство , прежде чем продолжить. Список других разделов, связанных с членством, см. в разделе "Управление пользователями с помощью членства".
Класс Membership предоставляет средства для:
Создание новых пользователей.
Хранение сведений о членстве (имена пользователей, пароли, адреса электронной почты и вспомогательные данные) в Microsoft SQL Server или в альтернативном хранилище данных.
Проверка подлинности пользователей, посещающих ваш сайт. Вы можете выполнять проверку подлинности пользователей программным способом или использовать Login элемент управления для создания полной системы проверки подлинности, требующей небольшого или отсутствия кода.
Управление паролями, включая создание, изменение, извлечение и сброс их и т. д. При необходимости можно настроить ASP.NET членство, чтобы требовать вопрос пароля и ответить на запросы на сброс пароля или получение пароля для пользователей, которые забыли свой пароль.
Хотя ASP.NET членство является автономной функцией в ASP.NET Для проверки подлинности, ее можно интегрировать с ASP.NET управление ролями для предоставления служб авторизации для вашего сайта. Членство также можно интегрировать с ASP.NET пользователем System.Web.Profile для предоставления настройки для конкретного приложения, которая может быть адаптирована для отдельных пользователей. Дополнительные сведения см. в разделе и ASP.NET Обзор свойств профиля.
Класс Membership полагается на поставщиков членства для взаимодействия с источником данных. Платформа .NET включает в себя SqlMembershipProvider, которая хранит сведения о пользователе в база данных Microsoft SQL Server и ActiveDirectoryMembershipProvider, что позволяет хранить сведения о пользователях на сервере Active Directory или Active Directory режиме приложений (ADAM). Вы также можете реализовать настраиваемый поставщик членства для взаимодействия с альтернативным источником данных, который можно использовать классом Membership . Пользовательские поставщики членства наследуют абстрактный MembershipProvider класс. Дополнительные сведения см. в разделе "Реализация поставщика членства".
По умолчанию ASP.NET членство включено для всех ASP.NET приложений. Поставщик членства по умолчанию — это SqlMembershipProvider и указан в конфигурации компьютера с именем AspNetSqlProvider. Экземпляр SqlMembershipProvider по умолчанию настроен для подключения к локальному экземпляру Microsoft SQL Server.
Можно изменить параметры по умолчанию, чтобы указать SqlMembershipProvider, отличный от экземпляра AspNetSqlProvider в качестве поставщика по умолчанию, или указать экземпляр пользовательского поставщика в качестве поставщика по умолчанию для приложения ASP.NET с помощью файла Web.config. Конфигурацию членства ASP.NET для веб-приложения можно указать с помощью раздела конфигурации membership в файле Web.config. Вы можете использовать подраздел поставщиков раздела членства, чтобы указать поставщика членства , отличного от одного из поставщиков по умолчанию. Например, следующий раздел membership удаляет поставщиков членства по умолчанию из текущей конфигурации приложения и добавляет новый поставщик с именем SqlProvider, который подключается к экземпляру SQL Server с именем AspSqlServer.
<configuration>
<connectionStrings>
<add name="SqlServices" connectionString="Data Source=AspSqlServer;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
</connectionStrings>
<system.web>
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
<providers>
<remove name="AspNetSqlProvider" />
<add name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="SqlServices"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
passwordFormat="Hashed"
applicationName="/" />
</providers>
</membership>
</system.web>
</configuration>
Свойства
| Имя | Описание |
|---|---|
| ApplicationName |
Возвращает или задает имя приложения. |
| EnablePasswordReset |
Возвращает значение, указывающее, настроен ли текущий поставщик членства, чтобы разрешить пользователям сбрасывать пароли. |
| EnablePasswordRetrieval |
Возвращает значение, указывающее, настроен ли текущий поставщик членства, чтобы разрешить пользователям получать пароли. |
| HashAlgorithmType |
Идентификатор алгоритма, используемого для хэш-паролей. |
| MaxInvalidPasswordAttempts |
Получает количество недопустимых попыток пароля или ответа на пароль, разрешенных до блокировки пользователя членства. |
| MinRequiredNonAlphanumericCharacters |
Возвращает минимальное количество специальных символов, которые должны присутствовать в допустимом пароле. |
| MinRequiredPasswordLength |
Возвращает минимальную длину, необходимую для пароля. |
| PasswordAttemptWindow |
Возвращает период времени, между которыми отслеживаются последовательные неудачные попытки предоставления допустимого пароля или ответа на пароль. |
| PasswordStrengthRegularExpression |
Возвращает регулярное выражение, используемое для вычисления пароля. |
| Provider |
Возвращает ссылку на поставщика членства по умолчанию для приложения. |
| Providers |
Возвращает коллекцию поставщиков членства для приложения ASP.NET. |
| RequiresQuestionAndAnswer |
Возвращает значение, указывающее, требуется ли поставщик членства по умолчанию ответить на вопрос пароля для сброса пароля и получения. |
| UserIsOnlineTimeWindow |
Указывает количество минут после последней отметки даты и времени для пользователя, в течение которого пользователь считается в сети. |
Методы
| Имя | Описание |
|---|---|
| CreateUser(String, String, String, String, String, Boolean, MembershipCreateStatus) |
Добавляет нового пользователя с указанными значениями свойств в хранилище данных и возвращает параметр состояния, указывающий, что пользователь успешно создан или причина сбоя создания пользователя. |
| CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus) |
Добавляет нового пользователя с указанными значениями свойств и уникальным идентификатором в хранилище данных и возвращает параметр состояния, указывающий, что пользователь успешно создан или причина сбоя создания пользователя. |
| CreateUser(String, String, String) |
Добавляет нового пользователя с указанным адресом электронной почты в хранилище данных. |
| CreateUser(String, String) |
Добавляет нового пользователя в хранилище данных. |
| DeleteUser(String, Boolean) |
Удаляет пользователя из базы данных. |
| DeleteUser(String) |
Удаляет пользователя и все связанные данные пользователя из базы данных. |
| FindUsersByEmail(String, Int32, Int32, Int32) |
Возвращает коллекцию пользователей членства на странице данных, где адрес электронной почты содержит указанный адрес электронной почты, соответствующий. |
| FindUsersByEmail(String) |
Возвращает коллекцию пользователей членства, в которой адрес электронной почты содержит указанный адрес электронной почты для сопоставления. |
| FindUsersByName(String, Int32, Int32, Int32) |
Получает коллекцию пользователей членства на странице данных, где имя пользователя содержит указанное имя пользователя, соответствующее. |
| FindUsersByName(String) |
Возвращает коллекцию пользователей членства, в которой имя пользователя содержит указанное имя пользователя, соответствующее. |
| GeneratePassword(Int32, Int32) |
Создает случайный пароль указанной длины. |
| GetAllUsers() |
Возвращает коллекцию всех пользователей в базе данных. |
| GetAllUsers(Int32, Int32, Int32) |
Возвращает коллекцию всех пользователей в базе данных на страницах данных. |
| GetNumberOfUsersOnline() |
Возвращает количество пользователей, обращаюющихся к приложению. |
| GetUser() |
Получает сведения из источника данных и обновляет метку даты и времени последнего действия для текущего пользователя, вошедшего в систему. |
| GetUser(Boolean) |
Возвращает сведения из источника данных для текущего пользователя, вошедшего в систему. Обновляет метку даты и времени последнего действия для текущего пользователя, вошедшего в систему, если указано. |
| GetUser(Object, Boolean) |
Возвращает сведения из источника данных для пользователя членства, связанного с указанным уникальным идентификатором. Обновляет метку даты и времени последнего действия для пользователя, если указано. |
| GetUser(Object) |
Возвращает сведения из источника данных для пользователя членства, связанного с указанным уникальным идентификатором. |
| GetUser(String, Boolean) |
Возвращает сведения из источника данных для указанного пользователя членства. Обновляет метку даты и времени последнего действия для пользователя, если указано. |
| GetUser(String) |
Возвращает сведения из источника данных для указанного пользователя членства. |
| GetUserNameByEmail(String) |
Возвращает имя пользователя, в котором адрес электронной почты для пользователя соответствует указанному адресу электронной почты. |
| UpdateUser(MembershipUser) |
Обновляет базу данных с информацией для указанного пользователя. |
| ValidateUser(String, String) |
Проверяет, является ли указанное имя пользователя и пароль допустимыми. |
События
| Имя | Описание |
|---|---|
| ValidatingPassword |
Происходит при создании пользователя, изменении пароля или сбросе пароля. |