簡體   English   中英

如何檢查當前用戶是否在 Firebase (Android Java) 上通過身份驗證

[英]How to check if the current user is authenticated on Firebase (Android Java)

我只是第一次嘗試 Firebase。

在我的 Firebase 實時數據庫中,我在一個名為blockedUsers的子項中維護了一個被禁止用戶的 UID 列表。 我的安全規則如下

{
  "rules": {
    ".read": "!root.child('blockedUsers').hasChild(auth.uid)",
    ".write": "!root.child('blockedUsers').hasChild(auth.uid)"
  }
}

到目前為止,它的工作原理是,如果blockedUsers中的用戶打開應用程序,他們將無法閱讀任何內容。 但我想在 MainActivity 阻止他們; 也就是說,如果被禁止的用戶打開應用程序,他們將立即被重定向到顯示他們被禁止的屏幕。 問題是,我無法檢索blockedUsers ,因為我被阻止了。 我該怎么做呢?

安全規則不會影響您的應用程序代碼的工作方式。 它只會影響您在查詢實時數據庫時編寫的代碼查詢的結果。

如果您希望您的應用程序根據安全規則表現出不同的行為,您將必須編寫一個預期會被規則允許或拒絕的查詢,然后決定如何處理該結果。

好吧,如果您使用 email 作為注冊,最好的方法是使用 UID。 在數據庫中維護兩個子節點,然后將其與 rest 所有代碼進行比較。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM