2015-04-03 54 views
0

我已阅读此帖子:Can a user create another user in parse?但我不认为它回答了这个问题。解析:用户可以创建另一个用户吗?

所以我会这样提问:

我是老师。我班有20个孩子。我想将它们添加到我的应用程序中,因为我的这个应用程序允许我将他们的成绩输入Parse,供他们的父母查看。我目前正在使用我的应用程序来创建一个新用户,并且在我成功创建一个新用户之后,我成为了该用户。我不想成为那个用户,我只是想创造他并保持在应用程序中。这怎么可能?我的应用程序目前正在使用Parse Javascript SDK。即将推出...它将在iPhone上使用Swift。

下面是简单的代码我使用:

var user = new Parse.User(); 
user.set("username", t_username.value); 
user.set("password", t_password.value); 
user.signUp(null, { 
    success: function (user) { 
     alert('New user created!'); 
     //but now i am that user??!?! 

     }, 
    error: function (user, error) { 
    // Show the error message somewhere and let the user try again. 
    alert("Error: " + error.code + " " + error.message); 
    } 
}); 

回答

0

这听起来像你需要弄清楚你的用户(安装?)表将会是什么样的,它是如何去表现。

一种解决方案可能是“signUp”您的新学生,以及是否有成功或错误,切换回您的(管理员)解析用户的用户名和密码。

另一种解决方案是在Parse中创建一个“Class”表,其中有一个“teacher”条目和一个“student”用户数组(这是注册功能可以添加新学生的结尾) 。然后,当学生最终登录时,可以在班级表中的各个“学生”数组中查找他们的用户名。

+0

老师/学生案例是我想要做的一个例子。每周都会有很多“学生”来上课,这取决于“老师”来管理它......没有例外......“学生”无法注册或管理自己。现在我只使用一个标准的用户类。 – dennis 2015-04-03 21:00:11

+0

“一种解决方案可能是”注册“您的新学生,以及是否有成功或错误,切换回您的(管理员)解析用户的用户名和密码。”是的,这是我想要做的,但不知道如何...现在使用Javascript。 – dennis 2015-04-03 21:04:05

+0

您将在创建新用户之前获得sessionToken,然后成为:之后切换回 – Wain 2015-04-03 21:06:46

0

其他假定的选项的替代方法是添加您调用的云代码功能,并使用提供的详细信息为您创建用户。

1

感谢所有发布回复的人。你激励我寻找会话令牌和user.become功能。

这段代码有诀窍!

var user = new Parse.User(); 
user.set("username", t_username.value); 
user.set("password", t_password.value); 

var sessionToken = Parse.User.current()._sessionToken; 
//at this point the "teacher" is the current user 
//i save this user session for use later 
user.signUp(null, { 
    success: function (user) { 
     //right now i have successfully signed up a new "student" and am actually logged in as that student 
     Parse.User.become(sessionToken).then(function (user) { 
     // The current user is now set back to the teacher. 
     // Continue doing what you want 
     }, function (error) { 
      // The token could not be validated. 
      alert('error'); 
     }); 
    }, 
     error: function (user, error) { 
     // Show the error message somewhere and let the user try again     alert("Error: " + error.code + " " + error.message); 
      } 
    }); 
    } 
相关问题