2015-10-12 20 views
0

我想要實現使用paga的用戶和管理員可以創建用戶的功能。 爲了達到這個目的,我使用了.signUp函數,除了使用回調成功而不是用戶解析註銷當前用戶時,一切正常。在parse.com js SDK中使用.signUp註銷當前用戶

代碼如下

// Create a new announcement with specified title and body. 
 
exports.create = function(req, res) { 
 
    var user = new Parse.User(); 
 
    res.locals.path = req.path; 
 
    // Explicitly specify which fields to save to prevent bad input data 
 
    userData = req.body; 
 

 
    if(userData.email != "undefined"){ 
 
    user.set("username", userData.email); 
 
    } 
 
    if(userData.name != "undefined"){ 
 
    user.set("name", userData.name); 
 
    } 
 
    if(userData.surname != "undefined"){ 
 
    user.set("surname", userData.surname); 
 
    } 
 
    if(userData.password != "undefined"){ 
 
    user.set("password", userData.password); 
 
    } 
 
    if(userData.courses){ 
 
    if(userData.courses != "undefined"){ 
 
     var courses = new Array(); 
 
     courses = userData.courses.split(","); 
 
     user.set("courses", courses); 
 
    } 
 
    } 
 

 
    if(userData.date != "undefined"){ 
 
    user.set("birthday", userData.date); 
 
    } 
 
    if(userData.email != "undefined"){ 
 
    user.set("email", userData.email); 
 
    } 
 

 
    if(userData.admin != "undefined"){ 
 
    if(userData.admin == "on"){ 
 
     user.set("admin", true); 
 
    }else{ 
 
     user.set("admin", false); 
 
    } 
 

 
    } 
 
    if(userData.contact != "undefined"){ 
 
    user.set("contact", userData.contact); 
 
    } 
 

 
    user.signUp(null, { 
 
    success: function(user) { 
 
     res.redirect('/users'); 
 
    }, 
 
    error: function(user, error) { 
 
     // Show the error message somewhere and let the user try again. 
 

 
     res.send(500, "Error: " + error.code + " " + error.message); 
 
    } 
 
    }); 
 
}; 
 

 
// Create a new tender with specified title and body. 
 
// Update a post based on specified id, title and body. 
 
exports.update = function(req, res) { 
 
    var user = new User(); 
 
    res.locals.path = req.path; 
 
    if(req.params.id){ 
 
    user.id = req.params.id; 
 
    } 
 

 

 
    userData = req.body; 
 
    if(userData.name != "undefined"){ 
 
    user.set("name", userData.name); 
 
    } 
 
    if(userData.surname != "undefined"){ 
 
    user.set("surname", userData.surname); 
 
    } 
 
    if(userData.password != "undefined"){ 
 
    user.set("password", userData.password); 
 
    } 
 
    if(userData.courses != "undefined"){ 
 
    user.set("courses", userData.courses); 
 
    } 
 
    if(userData.date != "undefined"){ 
 
    user.set("birthday", userData.date); 
 
    } 
 
    if(userData.email != "undefined"){ 
 
    user.set("email", userData.email); 
 
    } 
 
    if(userData.email != "undefined"){ 
 
    user.set("username", userData.email); 
 
    } 
 

 
    if(userData.admin != "undefined"){ 
 
    if(userData.admin == "on"){ 
 
     user.set("admin", true); 
 
    }else{ 
 
     user.set("admin", false); 
 
    } 
 

 
    } 
 
    if(userData.contact != "undefined"){ 
 
    user.set("contact", userData.contact); 
 
    } 
 

 

 
    Parse.Cloud.useMasterKey(); 
 
    user.save().then(function() { 
 
    res.redirect('/users'); 
 
    }, 
 
    function(err) { 
 
    res.send(500, 'Failed saving user'); 
 
    }); 
 
};

這是解析的功能嗎?有沒有辦法避免註銷當前用戶?

回答

1

signUP方法將替換您當前的用戶並以新用戶身份登錄。爲了避免您的管理員用戶被註銷,您需要將其移至自定義雲功能。

相關問題