2016-04-11 12 views
0

私のアプリは、特定の機能にアクセスするようにユーザーを制限し、ログインしていない場合はログインページにリダイレクトします。ログインページの前に要求されたURLを保存します。どうすればいいですか? 私は地元の人々を使用して試してみました:要求のURLを渡す

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')) 

私は、ログインコントローラで地元の人々にアクセスするにはどうすればよいですか?

答えて

0

私はNode.jsの人ではないよしかし、あなたは、通常のいずれかを選択することができます保存するために

  1. 使用sessionをユーザーが訪問したURL
  2. リダイレクトするときに、指定したURLをパラメータとして追加します。つまり、login?landPath=/path/the/user/went/to/first/time

希望します。

1

あなたがセッション

req.sessionに使用することができます

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); 
関連する問題