Rad*_*nov 4 authentication middleware static-files node.js express
在我的express应用程序中,我已/public使用此行设置要从目录中提供的静态文件:
app.use(express.static(__dirname + '/public'));
Run Code Online (Sandbox Code Playgroud)
现在,我需要在提供静态内容之前添加用于身份验证的中间件,并且如果用户未经过身份验证,则需要重定向到用于身份验证的路由(例如,/login).
我不确定我该怎么做.有任何想法吗?
chr*_*etd 12
由于您没有指定它,我将假设您已经拥有某种身份验证系统.
在Express中,代码中间件的顺序很重要:如果要在中间件2之前执行中间件1,则应将它们相应地放在代码中.由于express.static 是中间件,如果您想在提供静态文件之前进行身份验证,则可以在调用之前编写身份验证中间件express.static
app.use(function (req, res, next) {
if (!userAuthenticated(req)) {
return res.redirect('/login');
}
next();
});
app.use(express.static(__dirname + '/public'));
Run Code Online (Sandbox Code Playgroud)
我假设您有一个userAuthenticated函数,例如检查HTTP请求是否包含有效的访问令牌.
| 归档时间: |
|
| 查看次数: |
8024 次 |
| 最近记录: |