# #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();
}),
});
}
}
Моя проблема
Таким образом, моя проблема заключается в том, что всякий раз, когда я регистрируюсь как сотрудник и не выхожу из системы, а просто завершаю приложение, закрыв его, когда он все еще вошел в систему, я могу снова открыть приложение, и я все равно перейду на ту же страницу входа, как показано выше, что и является целью. Но тогда я могу нажать на значок входа в систему администратора и войти в систему как администратор, не вводя никаких учетных данных. Это позволяет любому персоналу входить в систему в качестве администратора, что я хочу предотвратить.