ссылка на видео

ссылка на исходник

 

Сейчас есть возможность перейти по любому адресу сайта, т.е. мы можем попасть на страницу изменения пароля не авторизовавшись на сайте, что неправельно.

 

Создадим AuthMiddleware.php. В нём выполним проверку на авторизацию пользователя:

Если пользователь не авторизован, то добавим флеш-сообщение типа error и делаем редирект на страницу авторизации.

 

Теперь для конкретных маршрутов мы должны применить метод __invoke класса AuthMiddleware. Для удобства воспользуемся возможностью Slim организовывать маршруты в логические группы.

 

Проверим, при переходе на страницу изменения пароля нас автоматически перенаправляет на страницу авторизации и выводится соответствующее сообщение.

 

Теперь сделаем так, чтобы у авторизованного пользователя не было возможности перейти повторно на страницы авторизации и регистрации.

Создадим GuestMiddleware.php. Если пользователь авторизован, то делаем редирект на главную страницу.

 

Группируем маршруты и добавляем GuestMiddleware

Выполняем проверку с авторизованным пользователем: