我让这个节点服务器运行:
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 是未定义的。
请建议我如何编写这个登录模块,可以维护每个用户正确的登录认证。