Расширенный скелет проекта PHPixie с аутентификацией и панелью администтратора

от автора

image

Базовый скелет проекта PHPixie задуман быть минималистичным, чтобы не навязывать архитектуру пользователю. Но в нашем чате часто возникают вопросы о том как настроить авторизацию, стоит ли разделять фронтенд и бекенд в отдельные бандлы, как лучше организовать процессоры, и тд. Начинать с пустого проекта гораздо труднее для новых пользователей, что поднимает порог вхождения, к тому же иногда просто хочется начать на шаг вперед. Как раз для этого был создан расширенный скелет проекта, в котором это все уже работает.

Демо

Итак, более подробно что у нас тут:

  • Регистрация пользователей
  • Логин с опцией «запомнить меня»
  • Проверка логина на страницах
  • Панель администратора с отдельным логином
  • Администраторы хранятся в отдельной таблице, их можно добавлять через консоль
  • Возможность администратору имперсонировать любого пользователя

Использование

composer create-project phpixie/project-auth project 

Настраиваем веб-сервер в папку project/web и готово. Один администратор уже добавлен, его логин phpixie / framework, но можно и добавить своего через консоль (к сожалению в PHPixie пока нет красивого компонента для вызова команд с консоли):

php addAdmin.php someUser somePassword 

Проект настроен использовать SQLite базу данных которая лежит в database.sqlite. Вот ее структура для MySQL:

CREATE TABLE `users` (     `id` INTEGER AUTO_INCREMENT PRIMARY KEY,     `email` VARCHAR(255) NOT NULL UNIQUE ,     `passwordHash` VARCHAR(255) NOT NULL );  CREATE TABLE `userTokens` (   `series` varchar(50) NOT NULL,   `userId` int(11) DEFAULT NULL,   `challenge` varchar(50) DEFAULT NULL,   `expires` bigint(20) DEFAULT NULL,   PRIMARY KEY (`series`) );  CREATE TABLE `admins` (     `id` INTEGER AUTO_INCREMENT PRIMARY KEY,     `username` VARCHAR(255) NOT NULL UNIQUE ,     `passwordHash` VARCHAR(255) NOT NULL ); 

Код на Github: github.com/PHPixie/Project-Auth

Если вам интересно как выглядит работа с PHPixie загляните в этот проект и надеюсь вы приятно удивитесь.

ссылка на оригинал статьи https://habrahabr.ru/post/281160/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *