Создание веб-приложения, сочетающего в себе проектирование и создание баз данных, работу со сторонними форматами данных, программирование в NET и веб-разработку, страница 16

•  bool ValidateUser(string username, string password)

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

Свойства пользовательского класса PowerPlayProvider:

Все свойства данного класса имеют модификатор доступа public и модификатор override.

•  bool EnablePasswordReset

//возвращает отметку о том, настроен ли сброс пароля.

•  bool EnablePasswordRetrieval

//возвращает отметку о том, настроено ли восстановление пароля.

•  int MaxInvalidPasswordAttempts

//возвращает максимальное количество возможных ошибок при вводе пароля.

•  int MinRequiredNonAlphanumericCharacters

//возвращает минимальное количество не текстовых и цифровых символов в пароле.

•  int MinRequiredPasswordLength

//возвращает минимальную длину пароля.

•  int PasswordAttemptWindow

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

•  MembershipPasswordFormat PasswordFormat

//возвращает формат пароля.

•  string PasswordStrengthRegularExpression

//возвращает регулярное выражение для проверки пароля.

•  bool RequiresQuestionAndAnswer

//возвращает отметку о том, включен ли секретный вопрос/ответ.

•  bool RequiresUniqueEmail

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

2.1.2  Проверка подлинности пользователей.

В проверку подлинности пользователя входя такие процедуры, как аутентификация и авторизация.

Аутентификация – процедура проверки подлинности пользователя путем сравнения введенного пароля с паролем в БД для заданного имени.

Авторизация – предоставление пользователю прав на выполнение определенных действий.

В приложениях ASP.NET аутентификация реализуется одной из следующих возможных аутентифицирующих систем:

•  аутентификация Windows;

•  аутентификация с помощью форм;

•  специальный процесс аутентификации.

В данной работе была выбрана аутентификация с помощью форм, как довольно гибка, но в том же время простая в реализации система. Для использования выбранной системы аутентификации приложению необходимо об этом явно сообщить. Это делается в файле Web.config в специальном разделе <authentication>, где в поле mode указывается система аутентификации. Так же данный раздел принимает различные дополнительные параметры, такие как страницы по умолчанию для регистрации, аутентификации, стандартная страница, куда перенаправляется пользователь после успешной аутентификации и пр. С полным текстом файла Web.config можно ознакомиться в Приложении 2.

Аутентификация, т.е. процедура проверки, выполняется одноименным методом в том же пользовательском классе PowerPlayProvider, уже описанном выше.

Ø bool ValidateUser(string username, string password)

При вводе логина и пароля в специализированный элемент управления на странице, он передает эти данные в метод ValidateUser. Метод осуществляет SQL-запрос в базу данных:

sql = "SELECT * FROM auth_user WHERE name = '" + username + "';";

Если в результате запроса возвращается 0 строк, то метод возвращает false, сигнализируя о том, что пользователь не прошел проверку (неверен логин или таковой отсутствует в базе данных). Если запрос вернет больше 0 строк, то из поля password извлекается строка, которая проходит процедуру дешифровки и сравнивается с паролем, введенным пользователем и переданным в метод. Если пароли совпадают, метод возвращает true, что свидетельствует об успешном прохождении проверки, в противном случае возвращается false. Подробнее о шифровке/дешифровке паролей описано в п.2.1.3.

Для использования поставщика пользователей его необходимо включить и настроить в файле Web.config в разделе <membership>, где в разделе <providers> необходимо добавить информацию о своем классе и указать его в качестве поставщика по умолчанию параметру defaultProvider.