SqlMembershipProvider Класс

Определение

Управляет хранилищем сведений о членстве для приложения ASP.NET в базе данных SQL Server.

public ref class SqlMembershipProvider : System::Web::Security::MembershipProvider
public class SqlMembershipProvider : System.Web.Security.MembershipProvider
type SqlMembershipProvider = class
    inherit MembershipProvider
Public Class SqlMembershipProvider
Inherits MembershipProvider
Наследование
SqlMembershipProvider

Примеры

В следующем примере кода показан файл Web.config для приложения ASP.NET, настроенного для использования SqlMembershipProvider.

<configuration>
  <connectionStrings>
    <add name="SqlServices" connectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
  </connectionStrings>
  <system.web>
    <authentication mode="Forms" >
      <forms loginUrl="login.aspx"
        name=".ASPXFORMSAUTH" />
    </authentication>
    <authorization>
      <deny users="?" />
    </authorization>
    <membership defaultProvider="SqlProvider"
      userIsOnlineTimeWindow="15">
      <providers>
        <add
          name="SqlProvider"
          type="System.Web.Security.SqlMembershipProvider"
          connectionStringName="SqlServices"
          applicationName="MyApplication"
          enablePasswordRetrieval="false"
          enablePasswordReset="true"
          requiresQuestionAndAnswer="true"
          requiresUniqueEmail="false"
          passwordFormat="Hashed"
          maxInvalidPasswordAttempts="5"
          passwordAttemptWindow="10" />
      </providers>
    </membership>
  </system.web>
</configuration>

Комментарии

Note

поставщики членства ASP.NET заменены ASP.NET Identity. Настоятельно рекомендуется обновлять приложения для использования платформы удостоверений ASP.NET вместо поставщиков членства.

Этот класс используется классами Membership и MembershipUser для предоставления служб членства для приложения ASP.NET с помощью базы данных SQL Server. Нельзя использовать SqlMembershipProvider без SQL Server. Если на компьютере установлено SQL Server Express с именем экземпляра по умолчанию и включенным пользовательским подключением, объект SqlMembershipProvider создаст базу данных с именем aspnetdb в каталоге App_Data приложения при первом запуске приложения.

Чтобы создать базу данных вручную, запустите исполняемый файл Aspnet_regsql.exe, найденный в папке %systemroot%\Microsoft.NET\Framework\ versionNumber и укажите параметр -A m (например, aspnet_regsql.exe -A m). Созданная база данных называется Aspnetdb. Кроме того, запустите Aspnet_regsql.exe для извлечения режима конфигурации графического интерфейса и выберите настройку всех ASP.NET компонентов.

Если поставщик членства настроен с помощью строка подключения, использующего встроенную безопасность, учетная запись процесса приложения ASP.NET должна иметь права на подключение к базе данных SQL Server.

Файл Machine.config определяет экземпляр SqlMembershipProvider по умолчани SQL Server ю с именем AspNetSqlMembershipProvider, который подключается к экземпляру Express по умолчанию на локальном компьютере. Этот экземпляр поставщика можно использовать, если вы установили SQL Server Express с именем экземпляра по умолчанию или вы можете определить собственный экземпляр в файле Web.config для приложения ASP.NET.

Если для атрибута passwordCompatMode задано значение Framework40, приложение может использовать параметры хэширования и членства в шифровании, добавленные в ASP.NET 4. Однако если для атрибута passwordCompatMode задано значение Framework20, можно использовать только параметры хэширования и шифрования из ASP.NET 2.0, ASP.NET 3.5 и ASP.NET 3.5 с пакетом обновления 1 (SP1). Значение по умолчанию — Framework20. Дополнительные сведения см. в разделе MembershipPasswordCompatibilityMode.

Конструкторы

Имя Описание
SqlMembershipProvider()

Инициализирует новый экземпляр класса SqlMembershipProvider.

Свойства

Имя Описание
ApplicationName

Возвращает или задает имя приложения для хранения и получения сведений о членстве.

Description

Получает краткое понятное описание, подходящее для отображения в средствах администрирования или других пользовательских интерфейсах (UIs).

(Унаследовано от ProviderBase)
EnablePasswordReset

Возвращает значение, указывающее, настроен ли поставщик членства SQL Server, чтобы разрешить пользователям сбрасывать пароли.

EnablePasswordRetrieval

Возвращает значение, указывающее, настроен ли поставщик членства SQL Server, чтобы разрешить пользователям получать пароли.

MaxInvalidPasswordAttempts

Получает количество недопустимых попыток пароля или ответа на пароль, разрешенных до блокировки пользователя членства.

MinRequiredNonAlphanumericCharacters

Возвращает минимальное количество специальных символов, которые должны присутствовать в допустимом пароле.

MinRequiredPasswordLength

Возвращает минимальную длину, необходимую для пароля.

Name

Возвращает понятное имя, используемое для ссылки на поставщика во время настройки.

(Унаследовано от ProviderBase)
PasswordAttemptWindow

Возвращает период времени, между которыми отслеживаются последовательные неудачные попытки предоставления допустимых ответов на пароль или пароль.

PasswordFormat

Возвращает значение, указывающее формат хранения паролей в базе данных членства SQL Server.

PasswordStrengthRegularExpression

Возвращает регулярное выражение, используемое для вычисления пароля.

RequiresQuestionAndAnswer

Возвращает значение, указывающее, настроен ли поставщик членства в SQL Server, чтобы пользователь ответил на вопрос пароля для сброса пароля и извлечения.

RequiresUniqueEmail

Возвращает значение, указывающее, настроен ли поставщик членства SQL Server для каждого имени пользователя уникальным адресом электронной почты.

Методы

Имя Описание
ChangePassword(String, String, String)

Изменяет пароль пользователя.

ChangePasswordQuestionAndAnswer(String, String, String, String)

Обновляет вопрос пароля и ответ пользователя в базе данных членства SQL Server.

CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus)

Добавляет нового пользователя в базу данных членства SQL Server.

DecryptPassword(Byte[])

Расшифровывает зашифрованный пароль.

(Унаследовано от MembershipProvider)
DeleteUser(String, Boolean)

Удаляет сведения о членстве пользователя из базы данных членства SQL Server.

EncryptPassword(Byte[], MembershipPasswordCompatibilityMode)

Шифрует указанный пароль с помощью указанного режима совместимости паролей.

(Унаследовано от MembershipProvider)
EncryptPassword(Byte[])

Шифрует пароль.

(Унаследовано от MembershipProvider)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
FindUsersByEmail(String, Int32, Int32, Int32)

Возвращает коллекцию пользователей членства, для которых поле адреса электронной почты содержит указанный адрес электронной почты.

FindUsersByName(String, Int32, Int32, Int32)

Возвращает коллекцию пользователей членства, в которой имя пользователя содержит указанное имя пользователя, соответствующее.

GeneratePassword()

Создает случайный пароль, длиной по крайней мере 14 символов.

GetAllUsers(Int32, Int32, Int32)

Возвращает коллекцию всех пользователей в базе данных членства SQL Server.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetNumberOfUsersOnline()

Возвращает количество пользователей, обращаюющихся к приложению.

GetPassword(String, String)

Возвращает пароль для указанного имени пользователя из базы данных членства SQL Server.

GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
GetUser(Object, Boolean)

Возвращает сведения из источника данных для пользователя членства, связанного с указанным уникальным идентификатором, и обновляет последнюю метку даты и времени действия для пользователя, если указано.

GetUser(String, Boolean)

Возвращает сведения из базы данных членства SQL Server для пользователя и предоставляет возможность обновить метку даты и времени последнего действия для пользователя.

GetUserNameByEmail(String)

Возвращает имя пользователя, связанное с указанным адресом электронной почты.

Initialize(String, NameValueCollection)

Инициализирует поставщик членства SQL Server со значениями свойств, указанными в файле конфигурации приложения ASP.NET. Этот метод не предназначен для использования непосредственно из кода.

MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
OnValidatingPassword(ValidatePasswordEventArgs)

Вызывает событие, ValidatingPassword если был определен обработчик событий.

(Унаследовано от MembershipProvider)
ResetPassword(String, String)

Сбрасывает пароль пользователя на новый автоматически созданный пароль.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
UnlockUser(String)

Очищает состояние заблокированного пользователя, чтобы пользователь смог проверить членство.

UpdateUser(MembershipUser)

Обновляет сведения о пользователе в базе данных членства SQL Server.

ValidateUser(String, String)

Проверяет наличие указанного имени пользователя и пароля в базе данных членства SQL Server.

События

Имя Описание
ValidatingPassword

Происходит при создании пользователя, изменении пароля или сбросе пароля.

(Унаследовано от MembershipProvider)

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

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