Тестовое задание по Yii
Доработка авторизации для проекта на базе Yii2.0.10 (advanced)
Framework Yii2.0.10 (advanced). Продублировать стандартную авторизацию для frontend части проекта на базе таблице user_details, за основу взять стандартную авторизацию, которая сейчас задействована для backend части. Таблица пользователей.
CREATE TABLE `user_details` (
`user_id` int(11) NOT NULL AUTO_INCREMENT,
`user_name` varchar(200) NOT NULL,
`avatar` varchar(255) DEFAULT NULL,
`skype` varchar(60) NOT NULL,
`phone` varchar(60) NOT NULL,
`is_active` tinyint(1) NOT NULL DEFAULT '1',
`is_approved` tinyint(1) NOT NULL DEFAULT '0',
`country` varchar(80) DEFAULT NULL,
`city` varchar(80) DEFAULT NULL,
`sex` tinyint(1) DEFAULT NULL,
`birthday` date DEFAULT NULL,
`about` text,
`interest` text,
`is_teacher` tinyint(1) DEFAULT NULL,
`is_student` tinyint(1) DEFAULT NULL,
PRIMARY KEY (`user_id`),
KEY `is_active` (`is_active`),
KEY `is_approved` (`is_approved`),
KEY `is_teacher` (`is_teacher`),
KEY `is_student` (`is_student`)
) ENGINE=InnoDB AUTO_INCREMENT=43 DEFAULT CHARSET=utf8;
- часть. Добавить необходимые поля, такие как логин, пароль, емаил т. д. Главное отличие, пользователям is_active=0 запрещено авторизоваться, выводить соответствующее сообщение. Авторизация для backend части (использует таблицу user) должна продолжать работать без изменений. Предусмотреть возможность восстановления пароля, запоминать пользователя. Все как для стандартной авторизации.
- часть. Разработать форму, подачи заявки на добавления пользователя. Поля из user_details, поля которые не должны быть пустыми сделать обязательными. Поля логин, пароль, e-mail, таже обязательные. В форму добавить капчу (изображение с цифрами). После подачи заявки, is_active=1 но is_approved=0. Т.е. пользователь может авторизоваться. После авторизации вывести страницу с текстом “Вы {user_name} вошли в систему”, неавторизованным пользователям эта страница не доступна, делать редирект на форму для ввода логина и пароля.