Механизм авторизации
При посещение любой из страниц вашего проекта посетитель создает запись в таблице Сессии, где за ним закрепляется идентификатор сессии. В этой же таблице есть колонка с Идентификатором пользователя (member_id), в которую вы можете записать идентификатор пользователя из таблицы Пользователи через сценарий.
Сессия с пустыми данными в member_id, говорит о том, что пользователь не авторизован
Сессия с указанным member_id говорит о том, что пользователь авторизован.
Как авторизовать пользователя через сценарий
Авторизация в сценарии это действие Изменить записи в таблице Сессии, где по идентификатору сессии - session.id вы заполняете member_id идентификатором пользователя, которого нужно авторизовать.
В сценарии из примера мы сначала:
- Проверяем что пользователь с такими данными существует (проверка в примере осуществляется по email), если не существует возвращаем ошибку
"Данный пользователь не зарегистрирован"
- Сравниванием хэш введенного пароля с хэшем пароля, который сохранен в таблице Пользователи
- Если хэш совпадает - авторизируем пользователя, если не совпадает, возвращаем ошибку
"Пароль введен не верно"