- Закрыть доступ к сайту для не авторизованых пользователей.
- Добавить страницу входа на которой можно будет ввести юзер и пароль
- На каждую страницу добавить кнопку для выхода с сайта
Реализация закрытия доступа ко всем страницам и авторизация
- Сделать контроллер под страницу логина. То есть новый twig шаблон, на котором будет форма с двумя input полями под юзер и пароль
- В обработке POST запроса у этого контроллера должна происходить проверка на существование введенных данных в БД, то есть примерно то что у нас сейчас делается в
LoginRequiredMiddeware
, только данные берутся не из$_SERVER
а из$_POST
- Если данные в БД найдены, то надо в сессию прописать какое-нибудь новое поле типа
is_logged
и поставить ему значение true, типа$_SESSION["is_logged"] = true
- В LoginRequiredMiddeware можно убрать весь код и просто проверять есть ли значение is_logged в сессии и если его нет или оно ложное, то делать редирект на страницу логина (то есть на контроллер из пункта 1)
Кнопка выхода
- Надо добавить кнопку выйти на все шаблоны, кнопка должна находится в форме и иметь тип submit
- Также надо добавить контроллер с url`ом типа
/logout
. Все что надо делать внутри этого контроллера это сбрасывать значение$_SESSION["is_logged"]
на false и делать редирект на страницу/login