【问题标题】:How to authorize certain pages to different users in flutter [closed]如何在颤动中将某些页面授权给不同的用户[关闭]
【发布时间】:2020-08-15 12:54:44
【问题描述】:
我们被分配在 Flutter 中制作事件管理(使用 Firebase 创建大学活动)应用程序。我们所做的工作:在主屏幕中创建事件(表单)并返回事件卡片(简要包含事件详细信息)。但是我们被告知要为某些用户制作不同的页面,例如管理员和学生协调员,他们只能创建活动。虽然用户只能查看事件。借助我们可以做些什么?
flutter 中是否有我们不知道的库?
我们是否必须为管理员制作另一个布局,为协调员制作另一个布局,为用户制作另一个布局,然后将它们连接起来?
【问题讨论】:
标签:
firebase
flutter
dart
【解决方案1】:
您可以向不同的人授予不同级别的授权。
- 在您的 Firebase 数据库中维护一个
users 集合
- 为每个用户创建一个文档。您可能已经存储了
name、uid、email 等详细信息。除此之外,请维护一个字符串字段level。
- 登录后,检查用户的
level。例如,如果level==student 您可以在主页上仅显示指向event_list_page.dart 的按钮。
如果level==admin,还显示一个按钮到create_event_page.dart。
您将如何分配level?
-
如果只有少数 (5-6) 个管理员,请在 Firebase 控制台中手动编辑他们的标签。
-
(假设电子邮件身份验证)否则,您必须提前创建管理员电子邮件 ID 列表。然后,您可以简单地使用 Firebase Admin SDK 运行脚本,从数据库中的 users 集合中获取管理员的用户文档。
-
如果你不想使用 Firebase Admin SDK,你也可以在 Flutter 本身中编写一些代码来获取管理文档并更新它们的标签。