如何在 Express.js 的快速会话中不活动 1 分钟后使会话到期?
在本文中,我们将了解如何在 Express.js 的 express-session 中不活动 1 分钟后使会话过期。
先决条件
- 在 Windows 上安装 Node.js
- 要在编辑器中设置节点项目,请参见此处。
需要模块:
npm install express
npm install express-session
调用接口:
var session = require('express-session')
要在 Express.js 的 express-session 中闲置 1 分钟后使会话过期,我们在中间件函数中使用expires: 60000 。
项目结构:
下面的示例说明了上述方法:
例子:
文件名:app.js
Javascript
// Call Express Api.
var express = require('express'),
// Call express Session Api.
session = require('express-session'),
app = express();
// Session Setup
app.use(
session({
// It holds the secret key for session
secret: "I am girl",
// Forces the session to be saved
// back to the session store
resave: true,
// Forces a session that is "uninitialized"
// to be saved to the store
saveUninitialized: false,
cookie: {
// Session expires after 1 min of inactivity.
expires: 60000
}
})
);
// Get function in which send session as routes.
app.get('/session', function (req, res, next) {
if (req.session.views) {
// Increment the number of views.
req.session.views++
// Session will expires after 1 min
// of in activity
res.write(
'
Session expires after 1 min of in activity: '
+ (req.session.cookie.expires) + '
')
res.end()
} else {
req.session.views = 1
res.end(' New session is started')
}
})
// The server object listens on port 3000.
app.listen(3000, function () {
console.log("Express Started on Port 3000");
});
使用以下命令运行 index.js 文件:
node app.js
现在要设置会话,只需打开浏览器并输入以下 URL:
http://localhost:3000/session
输出: 1 分钟不活动后,它将启动新会话,旧会话已过期。