【发布时间】:2016-07-22 18:07:46
【问题描述】:
我正在使用 passportjs 来验证一个简单的网络应用程序。我能够存储会话并在调用我的节点服务器的页面上使用 req.user 检查用户是否存在。但是,我也有没有调用的静态页面——如果有人猜测这些页面的 URL,他们将能够在没有身份验证的情况下进入应用程序。如何通过服务器验证这些静态页面?
【问题讨论】:
标签: node.js express passport.js
我正在使用 passportjs 来验证一个简单的网络应用程序。我能够存储会话并在调用我的节点服务器的页面上使用 req.user 检查用户是否存在。但是,我也有没有调用的静态页面——如果有人猜测这些页面的 URL,他们将能够在没有身份验证的情况下进入应用程序。如何通过服务器验证这些静态页面?
【问题讨论】:
标签: node.js express passport.js
您可以通过将身份验证中间件添加到您的路由来为静态文件引入身份验证。
var jwt = require('express-jwt');
var auth = jwt({secret: 'SECRET', userProperty: 'payload'});
app.use(auth, express.static('public'));
如果不使用jwt,可以传递自定义函数而不是auth。
【讨论】:
app.use('/pagecontainer', yourAuthFunction, express.static(__dirname + '/public/pagecontainer'));
定义静态路由来访问您的页面所在的文件夹,并添加护照身份验证(yourAuthFunction)中间件功能来验证进入该文件夹的请求。
【讨论】: