JS: Express
Теория: Авторизация
Авторизация - это предоставление определённому лицу или группе лиц прав на выполнение определённых действий; а также процесс проверки (подтверждения) данных прав при попытке выполнения этих действий.
Ситуация, в которой термины используются неправильно, довольно распространена. Авторизация относится к списку таких терминов. Обычно ей называют аутентификацию. Об этом всегда стоит помнить, но мир (как минимум русскоязычный) уже не изменить.
Рассмотрим простой пример с использованием авторизации, удаление поста.
Удалить пост может только залогиненный пользователь. Все остальные (гости) должны
получить в ответ 403 forbidden, код, который означает, что произошел отказ в доступе.
В более сложных случаях нужно проверять, что пост может удалить только его автор.
Любой сайт, сложнее чем сайт-визитка, содержит в себе множество проверок на допустимость
тех или иных действий, что может привести к очень большому дублированию проверок
по всем обработчикам. Разберём, как этого можно избежать.
Route Middlewares
Express позволяет указывать любое количество мидлвар для одного и того же маршрута.
Для этого можно передать любое количество аргументов (являющихся мидлварами) в функцию use.
Этим фактом мы и воспользуемся.
В примере выше определена мидлвара requiredAuth, которую можно подключать к любому
маршруту. Она проверяет, залогинен ли пользователь или нет, если нет, то дальше по
цепочке передаётся ошибка. Как мы уже знаем, это приводит к тому, что начинают выполняться
только мидлвары, обрабатывающие ошибки. Этот механизм полезен не только для контроля доступа,
таким образом можно выполнять любые подготовительные действия, которые используются
разными маршрутами.
Завершено
0 / 13