ファイル群(js、html、css)とパスポート認証付きのnodejsアプリがある角型アプリケーションがあります。 私は以下のことをしたいと思っています: 1:自分のサイトにアクセスするとログインページが表示されます(私は実際に) 2:正常にログインすると、私はリダイレクトされます私の角度のアプリケーション 3:認証なしで、私は私のあらゆる角度のリソース(imgs、jsonsなど)にアクセスできないようにしたい。 これまで私は、フォルダに静的に設定し、確実に認証されたミドルウェア(ログインしている場合は正常に検出された)を渡すことができますが、その静的フォルダにアクセスしようとしています。いくつかのコード例:パスポートで静的フォルダを保護する
function ensureAuthenticated(req, res, next){
if(req.isAuthenticated()){
return next();
} else {
//req.flash('error_msg','You are not logged in');
res.redirect('/users/login');
}
}
app.use('/app', ensureAuthenticated);
app.use('/app', express.static(path.join(__dirname, 'app')));
router.get('/users/login', function(req, res){
res.render('login');
});
router.post('/users/login',
passport.authenticate('local', {successRedirect:'/', failureRedirect:'/users/login',failureFlash: true}),
function(req, res) {
res.redirect('/');
});
router.get('/', ensureAuthenticated, function(req, res){
res.redirect('/app');
});
明らかに何かが分からない場合は、私に知らせてください、または私が間違ったトラックにいる場合は、私にいくつかの解決策を教えてください! ありがとうございました!
注:私はパスポートが新しく、express/nodejsのエキスパートではありません。