我创建了一个与Firebase集成的项目。它具有注册和登录功能。我有个人信息表填写个人用户。但是当用户不同时,所有用户都会显示所有数据。我需要显示与链接用户相关的信息。该人员应该只能访问他/她的数据库。我在Swift 3中找不到合适的解决方案。
答案 0 :(得分:2)
从最好的情况我可以看出,您似乎没有引用数据库中的正确节点。您看到了所有用户数据,因为您的变量messageRef
指向/users
。如果您希望用户只看到他们的数据,那么您需要整理数据,以便在保存messageItem
时/users/{user_id}
。然后首先获取user_id
并从其新位置(/users/{user_id}
)中读取它,然后正确访问它。
所以我要改变这些:
override func viewDidLoad() {
super.viewDidLoad()
messageRef = databaseRef.child("Users")
// Do any additional setup after loading the view.
}
到此:
override func viewDidLoad() {
super.viewDidLoad()
guard let user = Auth.auth().currentUser else { return }
messageRef = databaseRef.child("Users/\(user.uid)")
// Do any additional setup after loading the view.
}