Firebase:权限被拒绝 - setValue()
Firebase: Permission denied - setValue()
我无法使用 setValue() 为我的 Firebase 数据库设置值。在日志中 returns me setValue at ... Permission denied。我检查了我的规则:
{
"rules": {
".read": "auth == null",
".write": "auth == null"
}
}
尝试将您的规则更改为以下内容,它会起作用。
{
"rules": {
".read": true,
".write": true
}
}
根据 Frank van Puffelen 的评论,您的规则要求用户未通过身份验证。
如果您需要更安全的身份验证,您可以阅读有关身份验证规则的更多信息here以获得其他选项
希望对您有所帮助
首先,您的用户必须经过身份验证,因为 Firebase 提供了许多平台来让用户通过它进行身份验证。示例 - Google、Facebook、Twitter 等。
当用户通过 firebase 控制台进行身份验证时 he/she 可以访问相关的数据库和存储。您还可以使用 Firebase 匿名身份验证将用户设置为访客。
通过身份验证,每个用户都会获得一个 UID,如果您想为不同的用户设置不同的规则,您可以使用该 UID 通过编写规则来授予对他们的访问权限。
{
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
}
}
}
默认情况下,您将在数据库规则部分获得类似的内容:-
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}
这只是意味着,如果用户通过身份验证,则只授予他们读写权限。适用于所有用户。
通过这样做,您可以让所有人以及未使用您产品的人都可以访问您的数据库。
{
"rules": {
".read": true,
".write": true
}
}
您可以出于测试产品的目的执行此操作,但这不是一种安全的方法。
我无法使用 setValue() 为我的 Firebase 数据库设置值。在日志中 returns me setValue at ... Permission denied。我检查了我的规则:
{
"rules": {
".read": "auth == null",
".write": "auth == null"
}
}
尝试将您的规则更改为以下内容,它会起作用。
{
"rules": {
".read": true,
".write": true
}
}
根据 Frank van Puffelen 的评论,您的规则要求用户未通过身份验证。
如果您需要更安全的身份验证,您可以阅读有关身份验证规则的更多信息here以获得其他选项
希望对您有所帮助
首先,您的用户必须经过身份验证,因为 Firebase 提供了许多平台来让用户通过它进行身份验证。示例 - Google、Facebook、Twitter 等。
当用户通过 firebase 控制台进行身份验证时 he/she 可以访问相关的数据库和存储。您还可以使用 Firebase 匿名身份验证将用户设置为访客。
通过身份验证,每个用户都会获得一个 UID,如果您想为不同的用户设置不同的规则,您可以使用该 UID 通过编写规则来授予对他们的访问权限。
{
"rules": {
"users": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
}
}
}
默认情况下,您将在数据库规则部分获得类似的内容:-
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}
这只是意味着,如果用户通过身份验证,则只授予他们读写权限。适用于所有用户。
通过这样做,您可以让所有人以及未使用您产品的人都可以访问您的数据库。
{
"rules": {
".read": true,
".write": true
}
}
您可以出于测试产品的目的执行此操作,但这不是一种安全的方法。