您好我遇到了阻止用户通过输入网址访问我的网站的问题。我有一个登录信息,我想成为访问/factory/homepage.html
页面的唯一方法。
但是,如果用户在网址字段中输入/factory/homepage.html
,他们就可以访问homepage.html。
我已经在使用app.get('/factory/')
,但我的res.redirect('/website/userLogin.html')
没有重定向到登录页面。
这是我的代码:
app.get('/factory/*', function(req,res,next){
console.log("going through app.get...");
res.redirect('../website/userLogin.html');
console.log('after redirect...');
});
输出结果为:
going through app.get...
after redirect...
用户被带到factory/homepage.html
。我也试过app.use('/factory/*')
,但没有运气。只有在输入工厂目录中不存在的路径时,重定向才有效,例如/factory/hello.html
将重定向到/website/userLogin.html
我希望通过输入网址无法访问目录/factory
。然后我将实现一个中间件函数来检查用户是否经过身份验证。
任何帮助将不胜感激!
答案 0 :(得分:0)
我会尝试这样的事情。
app.get('/factory/*', function(req,res,next){
var authenticated = false;
//do something to authenticate user
if(authenticated === true){
//user is already authenticated
res.redirect('/factory/homepage.html');
}else{
//redirect to login
res.redirect('../website/userLogin.html');
}
});