2017-07-22 3 views
0

Meine App hat zwei Arten von Benutzern, Mitarbeiter und Studenten. Die Mitarbeiter haben eine andere Anmeldeseite als die des Studenten. Das Problem ist, wenn ich die E-Mail-ID und das Passwort eines Schülers in die Anmeldeseite eines Mitarbeiters gebe, wird es eingeloggt, was nicht der Fall sein sollte. Außerdem möchte ich klarstellen, dass sich die Mitarbeiter nicht bei der App anmelden können. Sie können sich nur mit einer E-Mail-ID und einem Passwort anmelden, sodass sie sich nicht als Mitarbeiter registrieren können. Diese E-Mail-ID und das Passwort werden manuell in der Auth-Konsole erstellt. Aber die Auth hat keine Spezifikation für verschiedene Benutzer, daher werden sogar die E-Mail und das Passwort der Studenten, die in Auth gespeichert sind, von der Anmeldeseite des Personals akzeptiert. Ich bin mir nicht sicher, wie ich in diesem Fall mit dem Personal-Login umgehen soll. Jede Hilfe wird geschätzt.Wie werden zwei Anmeldeformulare für verschiedene Benutzertypen behandelt?

Dies ist das Personal Login:

mAuth.signInWithEmailAndPassword(email,pass).addOnCompleteListener(new OnCompleteListener<AuthResult>() { 
       @Override 
       public void onComplete(@NonNull Task<AuthResult> task) { 

        if(task.isSuccessful()){ 
         pd.dismiss(); 

         Intent intent=new Intent(getActivity(),MainActivity.class); 

        startActivity(intent); 



        }else if(!task.isSuccessful()){ 
         pd.dismiss(); 
         Toast.makeText(getActivity(),"You are not allowed to login!",Toast.LENGTH_LONG).show(); 
        } 
       } 


      }); 

Antwort

0

Sie müssen in Ihrer Datenbank 2 verschiedene Abschnitte haben, Staff und Students. Ihre Datenbank sollte wie folgt aussehen:

Wie Sie wahrscheinlich sehen, ist die eindeutige Kennung zwischen Benutzern die E-Mail-Adresse. Verwenden Sie dann einfach die Methode exists() für jeden Abschnitt. Wenn der Benutzer ein Student ist und in Students Abschnitt existiert, dann loggen Sie sich ein, andernfalls zeigen Sie eine Nachricht an.

Ich hoffe, es hilft.

+0

Vielen Dank für Ihre Antwort. Das Problem ist, dass sich das Personal nicht registrieren darf. Sie können sich nur mit der angegebenen E-Mail-Adresse und dem Passwort anmelden. Daher werden keine Daten über sie durch die App in der Datenbank gespeichert, im Gegensatz zu Studenten, die sich anmelden, wenn sie die Details über sie registrieren, werden auch in die Datenbank aufgenommen. Ich bin mir nicht sicher, wie man Daten für Mitarbeiter in der Datenbank manuell speichert. –

+0

Dann dürfen sich die Mitarbeiter nicht registrieren. In diesem Fall verwenden Sie einfach die Firebase-Konsole, um das Zeug hinzuzufügen. Es ist sehr einfach zu benutzen. –

0

Bitten Sie einzigartige Token Mitarbeiter während Anmelden oder Registrieren in Anwendung bereitstellen muss.

Für Ex: - Mitarbeiter Login: -

  1. Benutzername
  2. Passwort
  3. Auth Token

Studenten Anmeldung: - Schülerregister normalerweise mit Benutzername und Passwort.

  1. Benutzername.
  2. Passwort.

Auth-Token bieten den Unterschied zwischen den Mitarbeitern und Studenten ..

+0

Vielen Dank für Ihre Antwort. Kannst du mir bitte sagen, wie das geht? –

Verwandte Themen