7.13. Trabalhando com rotas no ExpressJS: Trabalhando com autorização nas rotas

Página 59

O ExpressJS é um framework para aplicativo da web do Node.js mínimo e flexível que fornece um conjunto robusto de recursos para aplicativos web e móvel. Uma das características mais poderosas do ExpressJS é a sua capacidade de gerir rotas. Neste capítulo, vamos explorar como trabalhar com rotas no ExpressJS, com foco especial em trabalhar com autorização nas rotas.

Rotas são um aspecto essencial de qualquer aplicativo da web. Elas determinam como um aplicativo responde a um pedido do cliente para um endereço específico. No ExpressJS, as rotas são definidas anexando manipuladores de rota a instâncias do aplicativo.

Para começar, vamos primeiro entender como definir uma rota básica. Suponha que queremos criar uma rota para a página inicial do nosso aplicativo. Nós faríamos isso da seguinte maneira:

app.get('/', function(req, res) {
  res.send('Bem-vindo à página inicial!');
});

Aqui, 'app' é uma instância do express, 'get' é o método HTTP que estamos lidando, '/' é o caminho da rota, e a função é o manipulador de rota que é executado quando a rota é correspondida.

Agora, vamos falar sobre autorização. A autorização é um processo que verifica se o usuário tem permissão para realizar a ação solicitada. No contexto das rotas, a autorização pode ser usada para restringir o acesso a certas rotas com base na autenticação do usuário.

Para implementar a autorização em nossas rotas, podemos usar o middleware. O middleware é uma função que tem acesso ao objeto de solicitação (req), o objeto de resposta (res), e a próxima função de middleware no ciclo de solicitação-resposta do aplicativo.

Podemos definir um middleware de autorização da seguinte maneira:

function verificaAutorizacao(req, res, next) {
  if (req.user.estaAutorizado) {
    next();
  } else {
    res.status(403).send('Acesso negado');
  }
}

Aqui, 'verificaAutorizacao' é o middleware que estamos definindo. Ele verifica se o usuário está autorizado verificando a propriedade 'estaAutorizado' do objeto 'user' na solicitação. Se o usuário estiver autorizado, ele chama a próxima função de middleware. Caso contrário, ele envia uma resposta com status 403 e uma mensagem de 'Acesso negado'.

Agora, podemos usar esse middleware em nossas rotas para restringir o acesso. Por exemplo, se quisermos restringir o acesso à rota '/secreto', faríamos isso da seguinte maneira:

app.get('/secreto', verificaAutorizacao, function(req, res) {
  res.send('Bem-vindo à página secreta!');
});

Aqui, 'verificaAutorizacao' é passado como o segundo argumento para 'app.get'. Isso significa que ele será executado antes do manipulador de rota sempre que a rota '/secreto' for acessada. Se o usuário não estiver autorizado, ele receberá uma resposta com status 403 e a mensagem 'Acesso negado'. Se o usuário estiver autorizado, o manipulador de rota será executado e o usuário verá a mensagem 'Bem-vindo à página secreta!'.

Em resumo, as rotas são um aspecto essencial do desenvolvimento de aplicativos web com ExpressJS. Elas permitem que você defina como seu aplicativo deve responder a diferentes pedidos. A autorização é um aspecto importante das rotas que permite restringir o acesso com base na autenticação do usuário. Ao usar middleware, você pode facilmente implementar a autorização em suas rotas.

Now answer the exercise about the content:

O que é o ExpressJS e como ele gerencia as rotas em um aplicativo da web?

You are right! Congratulations, now go to the next page

You missed! Try again.

Next page of the Free Ebook:

607.14. Trabalhando com rotas no ExpressJS: Implementando paginação nas rotas

Earn your Certificate for this Course for Free! by downloading the Cursa app and reading the ebook there. Available on Google Play or App Store!

Get it on Google Play Get it on App Store

+ 6.5 million
students

Free and Valid
Certificate with QR Code

48 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video, audio and text