In my express
我已经设置了要从应用程序提供的静态文件/public
包含此行的目录:
app.use(express.static(__dirname + '/public'));
现在,我需要在提供静态内容之前添加一个用于身份验证的中间件,并且如果用户未经过身份验证,则将被重定向到身份验证路由(例如,/login
).
我不太确定我该怎么做。有任何想法吗?
由于您没有指定它,我将假设您已经拥有某种身份验证系统。
在 Express 中,代码中中间件的顺序很重要:如果您希望中间件 1 在中间件 2 之前执行,则应将它们相应地放置在代码中。自从express.static
is中间件,如果您想在提供静态文件之前进行身份验证,您可以简单地在调用之前编写身份验证中间件express.static
app.use(function (req, res, next) {
if (!userAuthenticated(req)) {
return res.redirect('/login');
}
next();
});
app.use(express.static(__dirname + '/public'));
我假设你有一个userAuthenticated
函数,例如检查 HTTP 请求是否包含有效的访问令牌。
阅读有关中间件的更多信息。 http://expressjs.com/en/guide/using-middleware.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)