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

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

Поля пользовательского класса PowerPlayRolesProvider:

Все поля класса имеют модификатор доступа private.

Ø string connectionString;

//строка подключения к базе данных.

Ø string applicationName;

//имя приложения.

Методы пользовательского класса PowerPlayRolesProvider:

Все методы класса имеют модификатор доступа public и модификатор override.

Ø void Initialize(string name, NameValueCollection config)

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

Ø void AddUsersToRoles(string[] usernames, string[] roleNames)

//реализует добавление юзеров на роль. В качестве входных параметров поступает массив имен пользователей и массив ролей. Каждому i-му юзеру, если он найден в базе присваивается i-я роль.

Ø void CreateRole(string roleName)

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

Ø bool DeleteRole(string roleName, bool throwOnPopulatedRole)

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

Ø string[] FindUsersInRole(string roleName, string usernameToMatch)

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

Ø string[] GetAllRoles()

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

Ø string[] GetRolesForUser(string username)

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

Ø string[] GetUsersInRole(string roleName)

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

Ø bool IsUserInRole(string username, string roleName)

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

Ø void RemoveUsersFromRoles(string[] usernames, string[] roleNames)

//реализует удаление пользователя с роли. В качестве входных параметров получает список имен пользователей в виде массива строк и список имен ролей в виде массива строк. Для каждого i-го пользователя удаляется i-я роль.

Ø bool RoleExists(string roleName)

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

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

Свойство класса имеет модификатор доступа public и модификатор override.

Ø string ApplicationName

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

2.2  Обработка данных и работа с БД.

Для работы с базой данных в .данном проекте используются классы и функции работы с MySQL дополнительного пространства имен MySql.Data.MySqlClient.

Данное пространство имен предоставляет для работы с БД такие классы, как MySqlConnection, MySqlDataAdapter, MySqlDataReader, MySqlCommand, а так же класс исключений MySqlException, используемые в пользовательском классе. Данные классы являются наследниками соответствующих базовых классов .NET и вся работа с ними проходит так же, как с базовыми классами System.Odbc или System.OleDb.