2015-04-03 25 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); 
      } 
    }); 
    } 
相關問題