У мене запущений цей сервер вузлів:
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 не визначено.
Будь ласка, підкажіть, як я можу написати цей модуль входу, який може підтримувати автентифікацію входу належним чином для кожного користувача.