Как предотвратить вход в систему «Администратор», когда я вхожу в систему «Персонал» и закрываю приложение (ФЛАТТЕР)

# #firebase #flutter #dart #firebase-authentication #flutter-android

Вопрос:

Итак, у меня есть это приложение в flutter, где я получил экран входа в систему с 2 различными вариантами входа, 1 для администратора и 1 для персонала/персонала. Скриншот страницы входа в систему

Я до сих пор добился того, что он не запрашивает никаких учетных данных для входа при завершении работы приложения, используя следующий код в моих маршрутах, в моем основном файле.dart

 class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        title: 'Flutter Demo',
        theme: ThemeData(),
        home: LoginScreen(),
        routes: {
          '/chatscreenadmin': (context) => ChatScreenAdmin(),
          '/chatscreencenter': (context) => ChatScreenCenter(),
          '/overviewscreen': (context) => OverView(),
          '/passcodescreencenter': (context) => StreamBuilder(
              stream: FirebaseAuth.instance.authStateChanges(),
              builder: (ctx1, userSnapshot1) {
                if (userSnapshot1.hasData) {
                  return ChooseCenterScreen();
                }
                return PasscodeScreenCenter();
              }),
          '/passcodescreenadmin': (context) => StreamBuilder(
              stream: FirebaseAuth.instance.authStateChanges(),
              builder: (ctx, userSnapshot) {
                if (userSnapshot.hasData) {
                  return ChatScreenAdmin();
                }
                return PasscodeScreenAdmin();
              }),
        });
  }
}
 

Моя проблема

Таким образом, моя проблема заключается в том, что всякий раз, когда я регистрируюсь как сотрудник и не выхожу из системы, а просто завершаю приложение, закрыв его, когда он все еще вошел в систему, я могу снова открыть приложение, и я все равно перейду на ту же страницу входа, как показано выше, что и является целью. Но тогда я могу нажать на значок входа в систему администратора и войти в систему как администратор, не вводя никаких учетных данных. Это позволяет любому персоналу входить в систему в качестве администратора, что я хочу предотвратить.