リダイレクトします。私が直面しています問題は、私のログインページが私のデフォルトのホーム・ページではないということですが、それはむしろ、このです:NodeJSパスポートは、私はNodeJSとエクスプレスバックエンドスクリプトのパスポートを持つユーザーのリダイレクトを実装しようとしています
localhost:3000/login
私は、ユーザーが登録されていない場合は、彼がそのような他のページにアクセスできないようにそれを作ることができました。 - localhost:3000/index
私はlocalhost:3000/
を入力した場合、私は私がログインしていないよ場合でも、デフォルトindex.html
ページへのアクセスを得ることができるだけで明確にする:/index
または/dashboard
が、何かが私のようなハードコードされたURLにアクセスしようとすると壊れるよう== localhost:3000
。
私はこのようなルートを操作することを決定した場合:localhost:3000/Example/pages/index.html
かlocalhost:3000/Example/pages/dashboard.html
を、それは私が私がログインしていても、ページにアクセスできるようになる
私の質問があり、私はへの経路を操作するユーザーを制限することができますか。デフォルトのホームページ、およびノードバックエンドで宣言されていない他のページ?私はこれを使用して試した
app.get('/login',
function(req, res){
res.sendFile(path.join(__dirname + '/login.html'));
});
app.get('/index', isLoggedIn,
function(req, res){
res.sendFile(path.join(__dirname + '/index.html'));
});
app.post('/login',
passport.authenticate('local', { failureRedirect: '/login' }),
function(req, res) {
res.redirect('/index');
});
app.post('/login',
passport.authenticate('local', { failureRedirect: '/login' }),
function(req, res) {
res.redirect('/index');
});
:
マイノードルートコード
app.use(function(req, res, next) {
if (req.session.user == undefined) {
return res.render('/login', { failureRedirect:'/login' });
}
else {
next();
}
});
が、私はエラーが表示されます。んが、デフォルトのエンジンが指定されていませんし、拡張子が提供されませんでした。私は、静的なHTML、エンジンとしてJADEまたはハンドルバーまたは何か他のものを使用する必要はありません。私はapp.get(/something, function(req,res){});
''/someroute ''の代わりに ''/''を使用するか、それを空のままにしたらどうなりますか?それはまだ静的なファイルのために働きますか? – coderJoe
あなたが欲しいものは何でも使用することができ、ルートが何であるかは重要ではありません。ここでのアイデアはミドルウェアisAuthenticatedです。 –
Vankaは動作しません。私はまだデフォルトのホーム・ページにアクセスして、経路を操作することができます。.. – coderJoe