javascript - 登录后,Socket.io 在浏览器中发出和重定向/存储会话变量
问题描述
我基本上想使用 Node 和 Socket.io 将登录用户名存储在会话 cookie 中
这是代码:(在 /auth 中登录 POST 后执行)
app.post('/auth', function(request, response) {
var username = request.body.username
var password = request.body.password;
if (username && password) {
connection.query('SELECT * FROM accounts WHERE username = ?', [username], function(error, results, fields) {
if (results.length > 0) {
let t = new Promise(function(resolve, reject) {
bcrypt.compare(password, results[0].password, function(err, res) {
if (err) {
reject(err);
} else {
resolve(res);
}
});
});
t.then((pswRes)=>{
if (pswRes==true){
io.emit("logged", request.body.username); //HERE <---
request.session.loggedin = true; //doesnt register in cookies (browser)
request.session.username = username; //doesnt register in cookies (browser)
console.log(request.session.username);
//console.log(t);
return response.redirect('/home.html'); //HERE <---
}else{
return response.redirect('/log.html');
}
}).catch((pswRes)=>{
console.log("error"+pswRes);
});
} else {
return response.redirect('/log.html');
}
//response.end();
});
} else {
// response.send('Please enter Username and Password!');
console.log("3333");
//response.end();
}});
(检查评论)
我正在尝试在 home.html 上使用发射和捕获来传递参数,然后将它们重定向到,然后将会话变量与
sessionStorage.setItem("用户名", 用户名)
我怎样才能做到这一点 ?替代方法也受到赞赏!
解决方案
推荐阅读
- python - 多对多查询的正确方法(django)
- vba - 硒 VBA 铬
- spring-boot - 如何删除有关 conluent.monitoring.interceptor 的警告?
- python - 使用 Python 在数据集中的位置之间分离相同的 ID 值
- windows-10 - 如果将任务管理器替换为 SysInternals Process Explorer,如何在 Windows 10 中添加启动应用程序?
- javascript - 如何在按钮单击时获取文本区域的随机值
- javascript - 如何相互隔离编译 TypeScript 文件?
- testing - 如果“设置测试”失败,Spock 会忽略测试
- cron - 在两个小时之间每 10 分钟运行一次 Cron 作业
- rest - 带有 Kafka Connect 的 REST API 源连接器 - 是否支持 HTTPS 调用?