使用ajax请求检查用户身份验证,jquery

时间:2013-01-20 08:12:39

标签: jquery ajax node.js authentication

我有一个基于nodeJS的服务器,它接收这个ajax请求

    $("#inbox").click(function() {
        $.ajax({
            type: "POST",
        url: "/inbox",
        data: dataString,
        username: 'test',
        password: 'test',
        success: function(data) {
        mails = JSON.parse(data);
        var html = new String();
        for (var i = 0 ; i < mails.length ; i++) {
            html += mails[i].from + ": " + mails[i].subject + "<br>";
        }
        $("#emails").html(data);
            },
        error: function(xhr, textStatus, errorThrown) {
        $("#emails").html("bad");
        }
        });
    });

如何在服务器端获取用户名和密码?我检查了请求标题,没有看到任何可以帮助我的内容。

此外:登录后,当验证用户名和密码时,我会发送一个将用户重定向到/mail?user=username的响应。如何安全地发送密码,以便mail.html将其发送以进一步请求?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您使用的是Express,则首先需要使用类似basicAuth中间件的内容。如果您正在使用它,则可以使用username转到req.user。如果您也想访问密码,我认为您需要提供自己的验证回调:

app.use(express.basicAuth(function(user, pass){
  // validate username/password and return true or false
}));

有关详细信息,请look here

至于将密码传递给mail.html:不要。改为使用会话。