firebase - 当我登录“人员”并终止应用程序时如何防止“管理员”登录(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();
}),
});
}
}
我的问题
所以我的问题是,每当我以员工身份登录并且不注销但只是终止应用程序时,通过在它仍然登录时关闭它,我可以重新打开应用程序,我仍然会进入如上所示的相同登录页面,即目标。但随后我可以按管理员登录图标并以管理员身份登录,而无需输入任何凭据。这使得任何员工都可以以管理员身份登录,这是我想要阻止的。
解决方案
推荐阅读
- deprecation-warning - 警告使用未定义的常量..这将在未来版本的 php 中引发错误
- java - Spring - 使用 CriteriaQuery(规范)的 OrderBy 关系属性忽略不具有关系的行
- azure-functions - 如何在 Azure 数据湖中读取和写入文件
- react-native - React Native 错误 - 尝试将命令发送到带有标签 203 的不存在视图
- jupyter-notebook - 未找到与 tcolorbox.sty 相关的 LaTeX 错误
- ubuntu - 使用 Nginx 服务器阻止 301 重定向但域不重定向
- google-cloud-data-fusion - 在云数据融合中转换为日期
- html - 用css调整页面高度
- swift - SceneDelegate中Launch和第一个ViewController之间黑屏闪烁
- multithreading - std::packaged_task 和 std::function 的行为