2015-06-10 94 views
1

嗨我有我的fb數據庫中的用戶列表。用戶標識是在成功註冊後自動生成的,每個用戶條目都有名稱,電子郵件和uid。此外,這些屬性中的每一個都被索引在/ index中,以便我可以輕鬆查找給定其用戶ID的用戶ID。如何根據數據庫用戶ID設置firebase規則(不是用戶名)

根據該文檔,火力點說,使用寫:$ USER_ID === auth.uid

我這怎麼能使用生成的ID,而不是UID完成?

這裏的FB DB:https://medviz.firebaseio.com/

回答

4

在您的用戶對象會有用戶喜歡這個

users : { 
user1234abc:{   
     name: "abc"   
    },      
    user2434dbcc:{   
     name: "abc"   
    } 
} 

你將有很多unique key/user nodes在用戶對象,如user1234abcuser2434dbcc

獨特關鍵字可以命名爲variable,規則中不需要調用它$user_id,你可以將它稱爲任何你想要的東西,例如你可以n AME變量作爲$any_variable獨特的用戶密鑰

和auth.id每當用戶成功驗證同樣的唯一ID爲auth.uid這樣你就可以在任何地方數學是auth.uid當您正在編輯與該用戶的信息

例如,如果auth.uid包含user1234abc如果user1234abc正在編輯這個對象user1234abc:{name: "abc" } THN accordind到.WRITE規則,他將能夠

見下

更新後的視圖210

更新的視覺層次:

--schema-- 
users : { 
      ________________ 
      | 
    user1234abc:{   | 
     name: "abc"   | 
    },      | 
    user2434dbcc:{   | 
     name: "abc"   | 
    }      | 
}     key can be name as any variable in rules 
          | 
-- rules-- 
          | 
{       | 
    "rules": {    | 
    "users": {    | 
     ".read": true,  | 
      ________________|___________ 
      |       | 
     \|/       | 
     "$any_variable": {    \|/  
     ".write": "$any_variable === auth.uid" 
     } 
    } 
    } 
}      
+4

我希望我能翻番,給予好評的ASCII藝術。 :-) –

+0

@FrankvanPuffelen這只是一個例子,我知道有什麼可疑的;) –

+0

@FrankvanPuffelen如果有關箭頭thn在這裏你去:P http://stackoverflow.com/questions/27637609/understanding-passport- serialize-deserialize/27637668#27637668 –

相關問題