Инструменты пользователя

Инструменты сайта


nodejs:sessija_i_avtorizacijam:zaschita_routov

защита роутов

middleware/auth.js

/**
 * Защита роутов от неавторизованных пользователей, ограничение доступа
 * req -запрос
 * res - ответ
 * next - продолжить выполнение, без вызова этого метода, страница не загрузится
 */
module.exports = function(req, res, next){
    if(!req.session.isAuthenticated){//проверка на авторизацию
        return res.redirect('/auth/login#login');//редирект неавторизованных пользователей
    }
    next();//
};

routes/add.js

const {Router} = require('express'); //или const express.Router = require('express');
const Course = require('../models/course');
const auth = require('../middleware/auth');//модуль middleware , для защиты ройтов
const router = Router();
 
/**
 * страница add
 * первый параметр адрес страницы, в данном случае используется префикс при регистрации ройтера,
 * там страничка зарегестрирована как /add
 * второй параметр auth - зашит роута
 * третий параметр callback - обработчик запроса req - request , запрос от браузера
 * res - response, ответ сервера
 */
router.get('/', auth,(req, res) => {
    res.status(200);//вернуть статус ответа
 
    res.render('add',{
        title:'Добавить курс',//прокидываем параметры в шаблон
        isAdd: true
    });//рендерим используя шаблонизатор
});
 
 
module.exports = router;//Экспортирум роутер
nodejs/sessija_i_avtorizacijam/zaschita_routov.txt · Последние изменения: 2023/01/12 12:18 (внешнее изменение)