2016-04-11 34 views
0

Uygulamam, giriş yapmadığınız takdirde kullanıcıların belirli işlevlere erişmesini ve giriş sayfasına yönlendirmesini kısıtlar. Giriş sayfasından önce istenen URL'yi kaydetmek istiyorum. Bunu nasıl yapabilirim? Ben yerlilerin kullanarak denedi:İstekte bulunan URL'yi iletin

function restrict(req, res, next) { 

if (!req.session.userName){ 
    res.locals['url'] = req.originaUrl; 

    res.redirect('/login'); 
} 
else 
    next(); 
} 


app.get('/login', require('./src/controllers/pages/loginPageController')) 

nasıl giriş denetleyicisi yerli erişebilir?

cevap

0

Ben node.js insan değilim ama genellikle birini seçebilir: saklamak için

  1. Kullanım session Kullanıcının ziyaret ettiği URL
  2. Yönlendirilen URL'yi parametre olarak ekle: login?landPath=/path/the/user/went/to/first/time

Yardım edin

1

Eğer oturumları

req.session kullanabilirsiniz

var users = require('./src/controllers/pages/loginPageController'); 
var session = require('client-sessions'); 
function requireLogIn(req,res,next){ 
    if(req.session.user) 
    next(); 
    else if(!req.session.user) { 
    res.redirect('/loginPage'); 
    } 
} 
// for storing sessions 
app.use(session({ 
    cookieName: 'session', 
    secret: 'this-is-my-unencrypted-key-it-will-be-encrypted-by-client-sessions- package', 
    duration: 60 * 60 * 1000, 
    activeDuration: 30 * 60 * 1000, 
})); 
app.use('/users', requireLogIn, users); 
İlgili konular