如何在Node.js中创建一个带会话的登录

时间:2016-01-11 15:48:22

标签: javascript node.js session authentication server

我几天来一直在寻找答案,我似乎无法找到适合我需求的东西。我想用node.js创建一个登录页面并向其添加一个会话,这样当用户关闭选项卡并返回时他必须再次登录。这是我现在的server.js代码:

    var express = require('express'),
    app = express(),
    server = require('http').Server(app),
    io = require('socket.io')(server),
    port = process.env.PORT || 1337,
    mysql = require('mysql'),
    pool = mysql.createPool({
        host: '127.0.0.1',
        port: '8889',
        user: 'root',
        password: 'root',
        database: 'admin'
    });

app.use(express.static('public'));
server.listen(port);

app.get('/', function (req, res) {
  res.sendfile(__dirname + '../public/index.html');
});

io.sockets.on('connection', function (socket) {

    console.log('Un client est connecté !');

    socket.on('auth', function (data) {

        console.log(data);

        pool.getConnection(function (err, connection) {

            connection.query({
              sql: 'SELECT * FROM `users`',
              timeout: 40000 // 40s
            }, function (error, results, fields, rows) {

                for (var i = 0; i < results.length; i++) {
                    if(data.username == results[i].name && data.password == results[i].pass) {
                            console.log('*------- USER IS AUTHED  -------*');
                    };
                };

            });

        });

    });
});

基本上,我在public / index.html上有一个表单,它通过js将数据发送到服务器(socket.on(&#39; auth&#39;)将它发送到服务器上)并且我比较数据到数据库。如果匹配我记录 ------- USER IS AUTHED ------- 。我现在想创建一个会话以使其安全。

对不起我的蹩脚英语我希望你们明白我的意思。 谢谢你的进步!

0 个答案:

没有答案