热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

FlutterWeb身份验证。热重装时用户ID丢失

我对FlutterWeb还是陌生的,一直以来都在努力。这正是我在移动设备上对用户进行

我对Flutter Web还是陌生的,一直以来都在努力。这正是我在移动设备上对用户进行身份验证的方式,但是由于某些原因,当我在Flutter网站上使用热重装时,用户身份验证会丢失并返回null并显示CircularProgressIndicator(CPI)。

为什么要这样做?如果调用了null,则肯定会显示LoginPage()-最初加载页面时即是如此-但当我热重新加载后,它将返回null和CPI。

进一步-我添加了一条打印语句来帮助我跟踪用户呼叫-并且每次我导航到新页面时都会注意到用户ID会被打印出来并想知道为什么这样做?

我想要实现的目标:


  1. 如果snapshot.data == null,则登录页面将用户引导至登录页面

  2. 如果snapshot.data!= null,则着陆页将用户引导至首页

  3. 如果ConnectionState.waiting,则返回一个循环进度指示器

  4. 如上所述解决错误

    class Landing extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
    final auth = Provider.of(context,listen: false);
    return StreamBuilder(
    stream: auth.onAuthStateChanged,builder: (context,snapshot) {
    if (snapshot.cOnnectionState== ConnectionState.active) {
    User user = snapshot.data;
    print(user);
    return user == null ? LoginPage() : HomePage();
    } else
    return Scaffold(
    body: Center(
    child: CircularProgressIndicator(),),);
    },);
    }
    }




您正在将流传递到无状态窗口小部件中。
将无状态小部件更改为有状态小部件,这将解决您的问题。

,

我是通过F5运行程序的,而不是通过flutter运行-d chrome
通过F5运行程序可以使人们按下VScode上的热重载按钮,但重要的是,当前Flutter Web上不提供热重载。

我相信,这部分地回答了我的问题。


推荐阅读
  • 深入解析 Spring Security 用户认证机制
    本文将详细介绍 Spring Security 中用户登录认证的核心流程,重点分析 AbstractAuthenticationProcessingFilter 和 AuthenticationManager 的工作原理。通过理解这些组件的实现,读者可以更好地掌握 Spring Security 的认证机制。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 本文详细介绍了在 Windows 2000 系统中启用 TELNET 服务时需要注意的 NTLM 配置问题,帮助用户解决常见的身份验证失败错误。 ... [详细]
  • 软件工程课堂测试2
    要做一个简单的保存网页界面,首先用jsp写出保存界面,本次界面比较简单,首先是三个提示语,后面是三个输入框,然 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 本文深入探讨了 Java 中的 Serializable 接口,解释了其实现机制、用途及注意事项,帮助开发者更好地理解和使用序列化功能。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • Android 渐变圆环加载控件实现
    本文介绍了如何在 Android 中创建一个自定义的渐变圆环加载控件,该控件已在多个知名应用中使用。我们将详细探讨其工作原理和实现方法。 ... [详细]
  • ImmutableX Poised to Pioneer Web3 Gaming Revolution
    ImmutableX is set to spearhead the evolution of Web3 gaming, with its innovative technologies and strategic partnerships driving significant advancements in the industry. ... [详细]
  • 本文将介绍网易NEC CSS框架的规范及其在实际项目中的应用。通过详细解析其分类和命名规则,探讨如何编写高效、可维护的CSS代码,并分享一些实用的学习心得。 ... [详细]
  • 本文详细介绍了 Java 中的 org.apache.hadoop.registry.client.impl.zk.ZKPathDumper 类,提供了丰富的代码示例和使用指南。通过这些示例,读者可以更好地理解如何在实际项目中利用 ZKPathDumper 类进行注册表树的转储操作。 ... [详细]
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • Python + Pytest 接口自动化测试中 Token 关联登录的实现方法
    本文将深入探讨 Python 和 Pytest 在接口自动化测试中如何实现 Token 关联登录,内容详尽、逻辑清晰,旨在帮助读者掌握这一关键技能。 ... [详细]
author-avatar
手机用户2702934510
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有