как реализовать авторизацию при входе в node.js

У меня запущен этот сервер узла:

var server=http.createServer(function(request, responsehttp) {
    if (request.method == 'POST') {
        var body = '';
        request.on('data', function (data) {
            body += data;
        });
        request.on('end', function () {
            var POST = qs.parse(body);
            processquery(POST, request, responsehttp);
        });
    } else {
        var url_parts = url.parse(request.url, true);
        var query = url_parts.query;
        console.log(query);
        processquery(query, request, responsehttp);
    }
});

Я хочу добавить форму входа для этого сервера. поэтому, когда пользователь аутентифицирован, он будет отображаться.

   function processquery(query, request, responsehttp){
    var returnResult = function (data){
        responsehttp.end(JSON.stringify(data));
    };

    if (!query.command) {
        fileprocess(request, responsehttp);
    }
    responsehttp.writeHead(200, {"Content-Type": "application/json"});
    switch(query.command) {
        case 'logout':
            logout(query, returnResult);
            break;
        case 'login':
            login(query, returnResult);
            break;
    }    
}

в функции запроса процесса, возвращающей файлы клиенту, если не задана какая-либо команда, , чтобы я мог отправить команду входа в систему с клиента на сервер, но что сервер должен делать, когда он получает команду входа в систему с именем пользователя и паролем, как он должен передать запрос на вход и вернуть успешный или неудачный вход в систему, для написания этой части мне нужна помощь.

что я пробовал.

function login(request, callback) {
    if(request.username==users[request.username] && request.password==users[request.username].password) {
        users[request.username].auth=true;
        var data = {result:'success','message':'login successful'};
        callback(data);
    } else {
        var data = {result:'error','message':'login incorrect'};
        callback(data);
    }
}

Пожалуйста, предложите, как я могу добавить сеанс в это я пытался добавить, переменная запроса в функции входа в систему и попытался установить переменную request.session, в которой говорится, что request.session не определен.

Пожалуйста, предложите, как я могу написать этот модуль входа в систему, который может вести журнал в аутентификации правильно для каждого пользователя.

74
задан Michael J. Calkins 19 June 2014 в 22:51
поделиться