配置环境
"express-session": "^1.15.6",
"session-file-store": "^1.2.0",
在package.json中添加上面两句
在app.js文件中声明
var session
= require('express-session');
var FileStore
= require('session-file-store')(session
);
app
.use('/insurance', session({
name
: 'sessionid',
store
: new FileStore(),
secret
: 'sksdfiwieriweixdif22342slsdSsdfc.#sdfdfs*',
resave
: false,
saveUninitialized
: true,
cookie
: {path
: '/', httpOnly
: true},
}));
在routes的接口方法中查看sessionid
router
.post('/isLogin/initialize', function (req
, res
, next
) {
var reqArg
= req
.body
;
res
.header("Content-Type", "application/json; charset=utf-8");
var a
= req
.headers
.cookie
;
var flag
= -2;
a
.split(";").forEach(item
=> {
if (item
.split("=")[0].indexOf("sessionid") != -1) {
flag
= 1;
var json
= {
statusCode
: 1,
top
: "获取成功",
data
: user
.dataValues
};
res
.end(JSON.stringify(json
));
}
});
if (flag
== -2) {
var json
= {
statusCode
: -2,
data
: '未登录'
};
res
.end(JSON.stringify(json
));
}
});
res
.clearCookie("sessionid");
通过查看是否存在sessionid来判断是否有权限进行下一步的操作,一般sessionid的设置是在登陆成功后设置,退出登录后将其删掉
这种方法一般用于一段时间内登陆后赋予权限,在这段时间都无需再次登陆,方便用户