Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

290
Visualizações
Permitir todas las imágenes de la carpeta de imágenes en la lista allowURLs

Creé una lista de URL permitidas para los usuarios que no han iniciado sesión, pero tengo que definir cada imagen en la carpeta si el usuario no ha iniciado sesión. ¿Hay alguna forma de que todos los archivos de la carpeta de imágenes estén permitidos para los usuarios que no ¿conectado?

 app.use((req, res, next) => { // console.log(req.session.user) let userLoggedIn = req.session.user !=null let allowedURLs = [ '/html/login.html', '/css/style.css', '/js/login.js', '/api/users/login', '/js/script.js', '/html/footer.html', '/favicon.ico', '/html/home.html', '/html/nav.html', '/html/footer.html', <---- HERE IS MY ISSUE---> `/img/logo.jpeg`, <--- HERE IS MY ISSUE ---> '/html/shows.html', '/js.shows.js', '/api/shows', ] let adminOnlyURLS = [ ] if (userLoggedIn) { // let them through if (adminOnlyURLS.includes(req.originalUrl) && req.session.user.accessRights != "admin") { res.redirect("/html/home.html"); } else { next() } } else { if (allowedURLs.includes(req.originalUrl)) { //allows the guest user through next() } else { //if not allowed - reditect to the login page res.redirect("/html/home.html") } } })

entre AQUÍ ESTÁ MI PROBLEMA Necesito que todas las imágenes estén disponibles para el usuario que no haya iniciado sesión. Este es mi archivo app.js

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puede cambiar sus URL permitidas a una matriz de cadenas o expresiones regulares

Entonces el if cambia a

 if (allowedURLs .some(url => url.test ? url.test(req.originalUrl) : url === req.originalUrl) ) {

Vea el código completo a continuación

 app.use((req, res, next) => { // console.log(req.session.user) let userLoggedIn = req.session.user != null; let allowedURLs = [ '/html/login.html', '/css/style.css', '/js/login.js', '/api/users/login', '/js/script.js', '/html/footer.html', '/favicon.ico', '/html/home.html', '/html/nav.html', '/html/footer.html', /^\/img\/.*/, // this is a RegExp '/html/shows.html', '/js.shows.js', '/api/shows', ]; let adminOnlyURLS = [ ]; if (userLoggedIn) { // let them through if (adminOnlyURLS.includes(req.originalUrl) && req.session.user.accessRights != "admin") { res.redirect("/html/home.html"); } else { next(); } } else { if (allowedURLs.some(url => url.test ? url.test(req.originalUrl) : url === req.originalUrl)) { //allows the guest user through next(); } else { //if not allowed - reditect to the login page res.redirect("/html/home.html"); } } });

Otra posibilidad es

 let allowedURLs = [ '/html/login.html', '/css/style.css', '/js/login.js', '/api/users/login', '/js/script.js', '/html/footer.html', '/favicon.ico', '/html/home.html', '/html/nav.html', '/html/footer.html', /^\/img\/.*/, // this is a RegExp '/html/shows.html', '/js.shows.js', '/api/shows', ].map(v => new RegExp(v.replaceAll?.('.', '\\.') ?? v))

entonces el si puede ser

 if (allowedURLs.some(url => url.test(req.originalUrl))) {
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda