javascript - Firestore/Firebase 定期断开连接
问题描述
我正在使用 Firestore 和 Firebase(云功能)来处理我的应用程序的身份验证。Firebase 部分只是为了让我可以检测到用户是否关闭了浏览器窗口,然后将用户注销。我正在使用 createUserWithEmailAndPassword 使用我自己的用户名和密码数据库登录用户。
我收到报告说用户看到 ADMIN 帐户定期注销,即使 ADMIN 帐户一直在登录。有一个特定帐户被标识为 ADMIN (11269)。其他用户可以看到 ADMIN 是否登录。
我正在对此进行调查,因为用户报告了其他数据未加载的问题,我想知道这是否与 ADMIN 未登录有关,因为 ADMIN 控制着其他人在他们的屏幕上看到的内容。
这是为所有用户运行的代码,以确定 ADMIN 是否按顺序登录:
firestoredb.collection('user').where('custnum', '==', 11269).where('status', '==', true).limit(1).onSnapshot(function(doc){
if (doc.empty){
if (!$('#adminnotloggedin').is(':visible')){
$('#adminnotloggedin').show();
$.post('_log-event.asp', {event:custnum + ' detected Cherrystone Room logged out.'});
}
} else {
if ($('#adminnotloggedin').is(':visible')){
$('#adminnotloggedin').hide();
$.post('_log-event.asp', {event:custnum + ' detected Cherrystone Room logged in.'});
}
}
});
作为测试,我让 ADMIN 和另一个用户长时间登录。这是我近 24 小时的日志。注销是非常周期性的:
5/2/2021 10:44:41 AM 10215 detected ADMIN logged in.
5/2/2021 11:28:00 AM 10215 detected ADMIN logged out.
5/2/2021 11:47:07 AM 10215 detected ADMIN logged in.
5/2/2021 12:10:44 PM 10215 detected ADMIN logged out.
5/2/2021 12:50:46 PM 10215 detected ADMIN logged in.
5/2/2021 1:50:09 PM 10215 detected ADMIN logged out.
5/2/2021 1:50:43 PM 10215 detected ADMIN logged in.
5/2/2021 2:50:25 PM 10215 detected ADMIN logged out.
5/2/2021 2:55:14 PM 10215 detected ADMIN logged in.
5/2/2021 3:54:56 PM 10215 detected ADMIN logged out.
5/2/2021 3:58:40 PM 10215 detected ADMIN logged in.
5/2/2021 4:58:22 PM 10215 detected ADMIN logged out.
5/2/2021 5:02:04 PM 10215 detected ADMIN logged in.
5/2/2021 6:01:46 PM 10215 detected ADMIN logged out.
5/2/2021 6:05:21 PM 10215 detected ADMIN logged in.
5/2/2021 7:04:44 PM 10215 detected ADMIN logged out.
5/2/2021 7:10:08 PM 10215 detected ADMIN logged in.
5/2/2021 9:04:28 PM 10215 detected ADMIN logged out.
5/2/2021 10:06:31 PM 10215 detected ADMIN logged out.
5/2/2021 10:07:48 PM 10215 detected ADMIN logged in.
5/2/2021 11:07:30 PM 10215 detected ADMIN logged out.
5/2/2021 11:09:51 PM 10215 detected ADMIN logged in.
5/3/2021 12:09:12 AM 10215 detected ADMIN logged out.
5/3/2021 12:10:20 AM 10215 detected ADMIN logged in.
5/3/2021 1:10:16 AM 10215 detected ADMIN logged out.
5/3/2021 1:10:24 AM 10215 detected ADMIN logged in.
5/3/2021 2:12:14 AM 10215 detected ADMIN logged out.
5/3/2021 2:23:45 AM 10215 detected ADMIN logged in.
5/3/2021 3:12:25 AM 10215 detected ADMIN logged out.
5/3/2021 3:16:00 AM 10215 detected ADMIN logged in.
5/3/2021 4:15:40 AM 10215 detected ADMIN logged out.
5/3/2021 4:20:27 AM 10215 detected ADMIN logged in.
5/3/2021 5:19:49 AM 10215 detected ADMIN logged out.
5/3/2021 5:23:43 AM 10215 detected ADMIN logged in.
5/3/2021 6:23:07 AM 10215 detected ADMIN logged out.
5/3/2021 6:27:48 AM 10215 detected ADMIN logged in.
所以我的问题是,什么会导致这种情况发生?尽管 ADMIN 似乎可以登录和注销,但在此期间我没有碰过任何一个浏览器窗口。这仅仅是互联网连接问题吗?Firestore 是否会出现这种行为?如果是这样,我能做些什么来补救?
解决方案
推荐阅读
- java - java.lang.ClassCastException:通过 Selenium 执行测试时,java.base/java.lang.String 无法转换为 org.openqa.selenium.WebElement
- bash - 使用来自另一个函数的用户提示调用 bash 函数
- apache-camel - 向 PowerBI REST Endpoint 发送 POST 请求时出现 Apache Camel 状态代码 401
- c++ - 隐藏由 WinAPI 调用创建的窗口
- divide-and-conquer - 使用分治法查找每个子数组的最大和最小元素的差之和的程序
- java - 使用h2方言进行测试时,Spring正在设置mysql方言
- code-splitting - React 通用组件在连接到 store 时抛出错误
- python - 如何计算文本文件中重复单词的数量?
- android - Room 中的多态实体
- c# - 可以将类返回给调用方法C#吗?