首頁 > Java > java教程 > Firebase 驗證後如何將學生、教師和管理員重新導向到各自的活動?

Firebase 驗證後如何將學生、教師和管理員重新導向到各自的活動?

Linda Hamilton
發布: 2024-12-10 18:02:10
原創
755 人瀏覽過

How to Redirect Students, Teachers, and Admins to Their Respective Activities After Firebase Authentication?

在Firebase 投票應用程式中實現多用戶重定向

在基於Firebase 的投票應用程式中,您想知道如何重定向三種不同類型的用戶(學生、教師和管理員)登入後可以查看各自的活動。以下是符合此要求的程式碼修改版本:

mAuthListener = new FirebaseAuth.AuthStateListener() {
  @Override
  public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
    FirebaseUser firebaseUser = FirebaseAuth.getInstance().getCurrentUser();

    if (firebaseUser != null) {
      String uid = firebaseUser.getUid();
      DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
      DatabaseReference usersRef = rootRef.child("users").child(uid);

      ValueEventListener userListener = new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
          // Assert that the DataSnapshot is valid
          if (!dataSnapshot.exists()) {
            Log.e(TAG, "Error: DataSnapshot not found");
            return;
          }

          // Check the user type and redirect accordingly
          if (dataSnapshot.child("type").getValue(Long.class) == 1) {
            startActivity(new Intent(MainActivity.this, student.class));
          } else if (dataSnapshot.child("type").getValue(Long.class) == 2) {
            startActivity(new Intent(MainActivity.this, teacher.class));
          } else if (dataSnapshot.child("type").getValue(Long.class) == 3) {
            startActivity(new Intent(MainActivity.this, admin.class));
          }
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {
          Log.e(TAG, databaseError.getMessage());
        }
      };

      usersRef.addListenerForSingleValueEvent(userListener);
    }
  }
};
登入後複製

主要變更:

  • uidRef 已更新為指向使用者Firebase 根下的節點。
  • 程式碼現在檢查類型 child,而不是只檢查學生是否存在節點來決定使用者的類型。
  • 已新增三個單獨的條件來處理所有三種使用者類型。

以上是Firebase 驗證後如何將學生、教師和管理員重新導向到各自的活動?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板