首页 > 解决方案 > 当我登录“人员”并终止应用程序时如何防止“管理员”登录(FLUTTER)

问题描述

所以我有这个应用程序在颤动,我有一个登录屏幕,有 2 个不同的登录选项,1 个用于管理员,1 个用于人员/员工。 登录页面截图

到目前为止,我已经做到了,在我的 main.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();
              }),
        });
  }
}

我的问题

所以我的问题是,每当我以员工身份登录并且不注销但只是终止应用程序时,通过在它仍然登录时关闭它,我可以重新打开应用程序,我仍然会进入如上所示的相同登录页面,即目标。但随后我可以按管理员登录图标并以管理员身份登录,而无需输入任何凭据。这使得任何员工都可以以管理员身份登录,这是我想要阻止的。

标签: firebaseflutterdartfirebase-authenticationflutter-android

解决方案


推荐阅读