如何知道解析服务器中的currentUser

时间:2016-08-26 19:55:00

标签: javascript express parse-platform parse-server

我正在使用express和Parse进行注册但是当登录重定向到其他视图时我想获取currentUser但是这次发送未定义这是我的登录代码

exports.login_post = function(req, res) {
    Parse.User.logIn(req.body.username, req.body.password,{
        success: function(user) {
            if (user.get("tipoUsuario") == 1) {
                console.log("Usuario Administrador Logeado con Exito  "+user.id)
                res.redirect('/admin_admin');
            }
            if (user.get("tipoUsuario")==2){
                console.log("Usuario Restaurante Logeado con Exito   " + user.id)
                res.redirect('/edit_profile');
            } else {
                res.redirect('/');
            }
        },      
        error: function(user, error) {
            console.log(req.body.username);
            console.log(req.body.password);
            console.log("error"+error)
            res.redirect('/');
        }   
    }); 
};

但我无法使用var currentUser = Parse.User.current();

返回未定义。

有些人知道获取currentUser的其他解决方案吗?

2 个答案:

答案 0 :(得分:0)

您可以设置session variable来存储current user,然后在其他视图中检索该用户。

您可以阅读如何在此documenatation中设置会话变量。这将为您提供有关如何使用会话变量的更好的见解和理解。

在重定向之前设置会话变量。

req.session.currUser= currentUser;
res.redirect('/');

在其他视图中检索会话变量:

app.get('/', function(req, res) {
  var currUser= req.session.currUser;
  req.session.currUser= null; // reset the session variable after retrieving the value.
  // Do something
});

答案 1 :(得分:0)

解决方案是

exports.login = function(req, res){
var pathname = req.body.pathname;
Parse.User.logIn(req.body.username, req.body.password, {
    success: function(user){
        if(user.get("tipoUsuario")==1){
            console.log("Usuario Administrador Logeado con Exito  "+user.id)
            req.session.user = user;
            console.log(req.session.user);
            res.redirect("/admin_admin");
        }
        if(user.get("tipoUsuario")==2){
            console.log("Usuario Restaurante Logeado con Exito  "+user.id)
            req.session.user = user;
            console.log(req.session.user);
            res.redirect("/edit_profile");
        }
    },
    error: function(user, error){
        console.log("error name: "+ error.name);
        console.log("error message:  "+ error.message);
        res.redirect("/");
    }   
}); 

};