ホームページ > Java > &#&チュートリアル > Firebase Authentication 後に学生、教師、管理者をそれぞれのアクティビティにリダイレクトするにはどうすればよいですか?

Firebase Authentication 後に学生、教師、管理者をそれぞれのアクティビティにリダイレクトするにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-10 18:02:10
オリジナル
754 人が閲覧しました

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

Firebase 投票アプリでのマルチユーザー リダイレクトの実装

Firebase ベースの投票アプリケーションのコンテキストで、3 つの異なるタイプのユーザーをどのようにリダイレクトするか疑問に思っています。 (生徒、教師、管理者) ログイン後、それぞれのアクティビティに移動します。この要件を満たすためにコードを修正したバージョンは次のとおりです。

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 が更新されました。
  • コードは、生徒の存在のみをチェックするのではなく、 type 子ノードを使用してユーザーのタイプを決定します。
  • 3 つのユーザー タイプすべてを処理するために、3 つの個別の条件が追加されました。

以上がFirebase Authentication 後に学生、教師、管理者をそれぞれのアクティビティにリダイレクトするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート