Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

283
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda