这个想法如下:
示例:
未记录:
请求:GET /
响应:来自 PATH_login 的index.html
登录
请求:GET /
响应:来自 PATH_app 的index.html
我尝试了这个,但它不起作用:
app.use(function(req,res,next){
if ( req.isAuthenticated() )
{
// user is authenticated
return express.static(PATH_app)
}
else
{
// user is not authenticated
return express.static(PATH_login)
}
});
答案 0 :(得分:1)
在初始化时,您要设置应为每个请求调用进行切换的中间件函数。
您还应初始化此时要切换的每个中间件功能。
在运行时为每个请求(当您传递给app.use
的函数中的代码运行时),为了转换功能转发到适当的中间件,它将调用相关的功能:
var appStatic = express.static(PATH_app);
var loginStatic = express.static(PATH_login);
app.use(function(req, res, next) {
if (req.isAuthenticated()) {
// user is authenticated
return appStatic(req, res, next);
} else {
// user is not authenticated
return loginStatic(req, res, next);
}
});