Em uma aplicação Node.js usando o framework Express, é possí...
Próximas questões
Com base no mesmo assunto
Ano: 2025
Banca:
IF Sul Rio-Grandense
Órgão:
IF Sul Rio-Grandense
Prova:
IF Sul Rio-Grandense - 2025 - IF Sul Rio-Grandense - Professor EBTT - Área 13, 17, 20, 25, 42: Informação e Comunicação I |
Q3208914
Programação
Em uma aplicação Node.js usando o framework Express, é possível criar middlewares para
diferentes propósitos, como autenticação, manipulação de requisições, e registro de logs.
Suponha que você tenha a seguinte função de middleware de autenticação que verifica se
o usuário tem permissão para acessar uma rota específica com base no papel (role)
associado ao usuário.
function authRoleMiddleware(role) { return (req, res, next) => { if (req.user.role !== role) { return res.status(403).send('Access forbidden: Insufficient permissions'); } next(); } }
Este middleware é utilizado da seguinte forma para restringir o acesso de rotas a usuários com o papel de “admin”:
var express = require('express'); var app = express();
app.use('/admin', authRoleMiddleware('admin')); app.get('/admin', (req, res) => { res.send('Welcome, admin!'); });
app.listen(3000);
Considerando o funcionamento desse middleware, qual seria um problema que poderia surgir ao aplicá-lo em rotas que utilizam diferentes middlewares, e como esse problema pode ser resolvido?
function authRoleMiddleware(role) { return (req, res, next) => { if (req.user.role !== role) { return res.status(403).send('Access forbidden: Insufficient permissions'); } next(); } }
Este middleware é utilizado da seguinte forma para restringir o acesso de rotas a usuários com o papel de “admin”:
var express = require('express'); var app = express();
app.use('/admin', authRoleMiddleware('admin')); app.get('/admin', (req, res) => { res.send('Welcome, admin!'); });
app.listen(3000);
Considerando o funcionamento desse middleware, qual seria um problema que poderia surgir ao aplicá-lo em rotas que utilizam diferentes middlewares, e como esse problema pode ser resolvido?