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>  

Комментарии

Примечание

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

Этот класс используется классами 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 с именем AspNetSqlMembershipProvider , который подключается к экземпляру SQL Server Express по умолчанию на локальном компьютере. Этот экземпляр поставщика можно использовать, если вы установили SQL Server Express с именем экземпляра по умолчанию или определить собственный экземпляр в файле Web.config для приложения ASP.NET.

Если для атрибута passwordCompatModeFramework40задано значение , приложение может использовать параметры хэширования и членства в шифровании, которые были добавлены в 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

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

(Унаследовано от 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[])

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

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

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

(Унаследовано от 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)

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

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