router.post('/login', passport.authenticate('local', {
failureRedirect: '/login',
failureFlash: true
}), function (req, res, next) {
let body = {};
body.operate_name = req.i18n_texts.index.login;
body.operate_time = new Date();
body.remark = getClientIp(req);
body.username = req.user.username;
knex('t_operate_record').insert(body).then(function (data) {
//添加网页token
let token = uuid();
knex('t_user').update({'token': token}).where({'username': body.username}).then(function (out) {
})
console.log(token + '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++')
req.user.token = token;
const obj = {};
obj.token = token;
obj.roleId = req.user.role;
res.setHeader('rid', req.user.role);
res.setHeader('tok', token);
res.redirect('/?clang=' + req.i18n_lang);
}).catch(function (err) {
res.send({code: -1, text: err.message});
})
});
客户端怎么调用login接口的?ajax还是表单?表单输出js来设置sessionStorage后js进行跳转。而且要存res什么数据?token和role?
const obj = {};
obj.token = token;
obj.roleId = req.user.role;
res.send(`<script>sessionStorage.set('rid','${req.user.role}');sessionStorage.set('tok','${token}');location.href='/?clang=${ req.i18n_lang}'</script>`)
//res.setHeader('rid', req.user.role);
//res.setHeader('tok', token);
//res.redirect('' + req.i18n_lang);
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!