20
A
回答
31
有在火力地堡「組」沒有明確的支持,因爲你可以很容易地自己代表他們。這有兩種選擇,取決於你的情況。
將羣組信息存儲在firebase中。
以下數據可以用來表示2組( '阿爾法' 和 '測試')和3個受保護數據( 'thing1', 'thing2' 和 'thing3')
{
"groups": {
"alpha": {
"joe": true,
"sally": true
},
"beta": {
"joe": true,
"fred": true
}
},
"data": {
"thing1": {
"group": "alpha"
/* data accessible only by the "alpha" group */
},
"thing2": {
"group": "beta"
/* data accessible only by the "beta" group */
},
"thing3": {
"group": "alpha"
/* more data accessible by the "alpha" group */
}
}
}
然後我們可以使用下面的規則來執行安全:
{
"rules": {
"data": {
"$thing": {
".read": "root.child('groups').child(data.child('group').val()).hasChild(auth.id)",
".write": "root.child('groups').child(data.child('group').val()).hasChild(auth.id)"
}
}
}
}
所以後來如果我跟{ID:「莎莉」}認證爲我的身份驗證對象,我將有機會獲得thing1和thing3,但不thing2。
將組信息存儲在身份驗證令牌中。
如果您正在生成自己的身份驗證令牌,並且您知道用戶在授權時所處的組,則可以將組列表存儲在您生成的身份驗證令牌中。例如,當您爲用戶'fred'生成身份驗證令牌時,請包括「{id:'fred',groups:{alpha:true,beta:true}}」
然後,您可以通過以下方式強制執行組成員身份驗證:
{
"rules": {
"data": {
"$thing": {
".read": "auth[data.child('group').val()] != null",
".write": "auth[data.child('group').val()] != null"
}
}
}
}
相關問題
- 1. 授予用戶權限來訪問表
- 2. 授予用戶訪問權
- 3. winhttpcertcfg在Windows 7中授予對iiS用戶的訪問權限
- 4. 亞馬遜IAM用戶+授予對S3的訪問權限
- 5. Oracle - 授予用戶權限
- 6. MySql授予用戶權限
- 7. MySQL授予用戶權限
- 8. 授予數據庫權限的不授予表的訪問權限
- 9. 如何授予用戶應用程序的根訪問權限?
- 10. 授予Oracle授予權限
- 11. 授予所有用戶對一個Mysql數據庫的訪問權限
- 12. 授予用戶訪問簽署文件的權限
- 13. 如何授予用戶特定時間的訪問權限?
- 14. 授予合適的用戶代理訪問權限
- 15. 與授予的權限火鳥用戶無法訪問表
- 16. 授予批量文件訪問MySQL用戶的權限
- 17. AWS IAM授予用戶只讀特定VPC的訪問權限
- 18. 授予用戶訪問特定/後續文章的權限?
- 19. @授予授權的權限拋出拒絕訪問異常
- 20. 授予MySQL用戶有限權限
- 21. 如何使用FormsAuthentication授予對URL的匿名訪問權限?
- 22. 如何使用Pycharm 5.04授予對Pycharm的root訪問權限
- 23. 即使權限被用戶授予,Android Marshmallow位置權限也不起作用
- 24. Settings.canDrawOverlays權限授予問題
- 25. Alert Box要求用戶授予位置權限不顯示
- 26. iOS Facebook SDK 3.1 openActiveSessionWithReadPermissions:檢測用戶未授予訪問權限
- 27. BOX API試圖連接用戶和訪問權限授予框
- 28. 如何檢查用戶是否授予Facebook訪問權限?
- 29. 如何將權限授予Firebase上的其他用戶?
- 30. MySQL的授予權限的用戶
Michael,感謝您的快速響應,第一個選項是我們正在尋找的。 – user1452215
如果你想授予對數據的訪問權限,那麼多個組(而不是僅僅一個)是多少錢?有沒有像.hasAnyChild()或類似的東西? – Pl4yeR
第一個JSON對象到底在哪裏?定義組,alpha,beta等?我不認爲你可以把它放入實際的規則安全對象中......除非我錯過了某些東西? – Matt