[英]Server authentication on page request in nodeJS, angularJS Application
我正在使用passport.js进行身份验证。 我的要求是,如果未登录某个页面,则任何人都不能访问该页面(例如,“ / restricted”)。
现在,在我的应用程序中,任何人都可以直接访问“ localhost:3000 /#/ restricted” URL。
我可以停止此操作,并且仅在未经身份验证的情况下,通过在所有重定向上使用Rorschach120的重定向中的解决方案,仅允许登录的用户访问该页面。
但这是在客户端完成的,并不安全,因为任何人都可以从浏览器访问此代码。
因此,我需要页面请求发送到服务器,我在如何知道用户是否使用passport.js登录时尝试了moka的解决方案? :
在app.js中 :
app.get('/restricted', loggedIn, function(req, res, next) {
// req.user - will exist
// load user orders and render them
});
其中loggedIn()函数检查用户是否已登录。
但是从来没有调用过这种中间件,任何人都仍然可以访问“受限”页面。 我该怎么办,这样才能被调用?
我是AngularJS和NodeJS的新手。 我在这里做错什么了吗? 任何帮助将不胜感激。
您可以为此目的使用中间件。
app.get('/secure-route', secureMiddleware, myMethod)
let secureMiddleware = function(req, res, next) {
authCheck(...)
.then(function(result) {
// pass
next()
})
.catch(function(err) {
res.status(401).json({
code: 401,
message: 'restricted route'
})
})
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.