Викрам Васвани, MySQL. Использование и администрирование, если хочешь в MySQL, то книга самое то диаграммы. На сайте собираются авторские и переводные материалы, помогающие использовать MySQL наиболее эффективно. В разделе Статьи собраны. Если вы это получили,значит вы успешно вошли в базу данных mysql,которая используется для администрирования сервера. В ней содержатся 5. ITD000000000185236/COVER/cover3d1__w600.jpg' alt='Викрам Васвани Mysql Использование И Администрирование' title='Викрам Васвани Mysql Использование И Администрирование' />Поскольку в настоящее время эти процессы сильно стандартизированы, 9. Так почему бы не сэкономить время и не оформить его в виде набора классов Здесь на помощь приходит Sentry 2 разработанная компанией Cartalyst и распространяемая на условиях лицензии BSD 3. Она предоставляет набор классов, которые упрощают добавление в PHP приложение стандартных потоков аутентификации и управления доступом без ущерба для безопасности. Рассказ В.Чаплина Белка. В этой серии статей, состоящей из двух частей см. В статье приводятся примеры создания регистрационной формы с активацией по электронной почте, реализации процесса восстановления пароля, поиска учетных записей пользователей с помощью различных фильтров, а также создания, изменения и удаления учетных записей пользователей. Итак, приступим Установка. Предполагается, что вы знакомы с HTML и SQL и что у вас установлена среда разработки ApachePHPMy. SQL. Также предполагается, что вы знакомы с основами работы с классами и объектами в PHP, поскольку пакет Sentry 2 и пример кода, сопровождающие статью, используют эти понятия. Sentry 2 можно использовать в составе PHP инфраструктуры Fuel. PHP, Code. Igniter и Laravel поддерживаются по умолчанию или как самостоятельный пакет, который можно интегрировать в собственные приложения, созданные как с помощью, так и без помощи инфраструктуры. Для лучшего понимания примеров в статье будут использоваться процедурные PHP сценарии и автозагрузчик Composer. Тем не менее в реальных приложениях лучше использовать PHP инфраструктуру и загружать классы Sentry 2 с помощью загрузчика классов вашей инфраструктуры. Для использования Sentry 2 в PHP приложении необходимо сначала загрузить и установить пакет с его зависимостями. Проще всего это можно сделать с помощью Composer, который нужно загрузить и установить см. После установки Composer создайте рабочий каталог для удобства назовем его PROJECT, а затем файл PROJECTcomposer. Листинг 1. Создание файла PROJECTcomposer. Он загрузит пакет Sentry 2 с зависимостями и установит автозагрузчик. Листинг 2. Запуск Composershell php composer. После окончания этого процесса каталог PROJECTvendor будет выглядеть примерно так, как показано на рисунке 1. Рисунок 1. Структура каталогов после выполнения Composer. Теперь нужно создать таблицы базы данных для хранения информации о пользователях, группах и полномочиях. Sentry 2 поставляется с SQL файлом, содержащим необходимые команды для создания этих таблиц. Это файл PROJECTvendorcartalystsentryschemamysql. Перед его использованием создайте пустую базу данных My. SQL mysql CREATE DATABASE appdata Затем импортируйте таблицы в My. SQL, используя следующую команду shell mysql D appdata u user p lt mysql. При помощи команды SHOW TABLES убедитесь, что таблицы успешно созданы. SHOW TABLES Вы должны увидеть выходные данные, показанные на рисунке 2. Рисунок 2. Таблицы базы данных, используемые Sentry 2. IBM Security Identity Manager. С помощью адаптера IBM Security Identity Manager можно интегрировать реестр пользователей Sentry 2 с другими реестрами пользователей на вашем предприятии. Дополнительная информация о IBM Security Identity Manager и других продуктах содержится в документации When Millions Need Access на странице систем IBM Security Systems. Большинство примеров в этой статье использует таблицу users. Чтобы увидеть структуру этой таблицы, используйте команду DESC. DESC users На рисунке 3 показана структура этой таблицы. Рисунок 3. Структура таблицы users. Кликните, чтобы увидеть увеличенное изображение. Чтобы облегчить работу с примерами, нужно вставить одну запись о пользователе см. Вставка одной записи о пользователе. INSERT INTO users id, email, password, permissions, activated. В системе Sentry 2 каждый пользователь должен иметь уникальный адрес электронной почты. Начало работы с Sentry 2. Лучше всего знакомиться с работой Sentry 2 на примере. Начнем изучение кода с простого с аутентификации пользователя. Рассмотрим листинг 4, который иллюстрирует основной процесс. Листинг 4. Аутентификация пользователяlt CartalystSentryFacadesNativeSentry setup. Database. Resolver. PDOdsn, u, p. Затем с помощью фасадного метода setup. Database. Resolver выполняется подключение системы Sentry 2 к созданной ранее базе данных My. SQL путем передачи PDO объекта с DSN и учетными данными базы данных. Это общие предварительные шаги для каждого использования Sentry 2. После подключения к базе данных выполняется аутентификация с помощью метода authenticate. Этот метод принимает массив, содержащий адрес электронной почты пользователя и пароль, и сверяет эту информацию с информацией в базе данных. Если учетные данные совпадают, создается новый объект User для представления пользователя, вошедшего в систему, а информация об этом пользователе сохраняется в сеансе. Теперь методы объекта User, такие как get. Login, get. Permissions, is. Activated и другие, можно использовать при поиске конкретной информации о пользователе. Вход и выход из системы. Имея эту информацию, можно быстро адаптировать листинг 4 для создания инфраструктуры входавыхода для Web приложения. В листинге 5 приведена традиционная форма входа в систему. Листинг 5. Форма входаlt html. Loginlt h. 2. Аутентификация пользователя и вход в системуlt CartalystSentryFacadesNativeSentry setup. Database. Resolver. PDOdsn, u, p. Поскольку после аутентификации Sentry 2 автоматически сохраняет объект User в сеансе, можно проверить его наличие и в зависимости от этого отображать либо форму входа, либо информацию о входе пользователя в систему. Рассмотрим листинг 7, в котором объединены листинги 5 и 6 и добавлена необходимая логика. Листинг 7. Аутентификация пользователя с отображением формы входа по условиюlt CartalystSentryFacadesNativeSentry setup. Database. Resolver. PDOdsn, u, p. Эти методы позволяют легко отобразить соответствующую информацию пользователя, основываясь на текущем статусе аутентификации. Заключительная часть кода посвящена логике выходы из системы. Она очень проста. Достаточно вызвать метод logout, чтобы был уничтожен объект User в сеансе и пользователь вышел из системы. В листинге 8 приведен пример кода. Листинг 8. Деаутентификация и выход пользователя из системыlt CartalystSentryFacadesNativeSentry setup. Database. Resolver. PDOdsn, u, p. CartalystSentryFacadesNativeSentry logout. Безопасное восстановление пароля. Если пользователь забыл свой пароль, он захочет его восстановить. Типичный процесс состоит в создании и отправке уникального кода на электронную почту пользователя. Затем пользователь заходит на Web сайт, вводит полученный по почте код для подтверждения запроса восстановления пароля и задает новый пароль. В составе Sentry 2 есть ряд методов, которые позволяют упростить этот процесс Метод get. Reset. Password. Code генерирует для пользователя уникальный код восстановления пароля. Метод check. Reset. Password. Code проверяет код восстановления пароля, предоставленный пользователем. Метод attempt. Reset. Password пытается заменить пароль пользователя новым значением после проверки кода восстановления пароля. Посмотрим, как это работает. Для начала создадим форму восстановления пароля, которая предлагает пользователю ввести свой адрес электронной почты см. Форма запроса восстановления пароляlt html. Reset Passwordlt h. Генерирование кода восстановления пароляlt Метод get. Reset. Password. Code объекта User используется для создания уникального кода восстановления, а функция mail используется для отправки этого кода на электронную почту пользователя. После получения кода восстановления пароля пользователь должен повторно посетить Web приложение, отправить полученный код для подтверждения запроса и предоставить новый пароль.