AngularFire2: ERROR Error: Missing or insufficient permissions
AngularFire2: ERROR Error: Missing or insufficient permissions
不确定为什么我在访问 AngularFirestoreCollection 时收到此错误:
ERROR Error: Missing or insufficient permissions.
this.categories = afs.collection('categories').doc(this.afAuth.auth.currentUser.uid).collection<Category>('categories');
Firestore 数据库规则:
service cloud.firestore {
match /databases/{database}/documents {
match /categories/{userId}{
allow read, write: if request.auth.uid == userId;
}
}
}
我在这里错过了什么?
您已经在您的应用程序中配置了深度路径:
Categories --> User --> Categories
并且您的规则仅包含父文件夹:
/categories/{userId}
您必须更改为:
/categories/{userId}/categories/{category}
所以你得到了匹配条件的UserId,再加上当前路径的效果。
何时使用通配符以及何时使用特定或嵌套匹配条件的原因有很多,请查看 main docs 并选择最适合的实现。
有同样的问题。
在拨打电话之前检查您是否已经登录:
isSignedIn() {
this.auth.onAuthStateChanged((user) => {
if (user) {
// User is signed in.
console.log("User is signed in.");
} else {
console.log("No user is signed in.");
}
});
不确定为什么我在访问 AngularFirestoreCollection 时收到此错误:
ERROR Error: Missing or insufficient permissions.
this.categories = afs.collection('categories').doc(this.afAuth.auth.currentUser.uid).collection<Category>('categories');
Firestore 数据库规则:
service cloud.firestore {
match /databases/{database}/documents {
match /categories/{userId}{
allow read, write: if request.auth.uid == userId;
}
}
}
我在这里错过了什么?
您已经在您的应用程序中配置了深度路径:
Categories --> User --> Categories
并且您的规则仅包含父文件夹:
/categories/{userId}
您必须更改为:
/categories/{userId}/categories/{category}
所以你得到了匹配条件的UserId,再加上当前路径的效果。
何时使用通配符以及何时使用特定或嵌套匹配条件的原因有很多,请查看 main docs 并选择最适合的实现。
有同样的问题。
在拨打电话之前检查您是否已经登录:
isSignedIn() {
this.auth.onAuthStateChanged((user) => {
if (user) {
// User is signed in.
console.log("User is signed in.");
} else {
console.log("No user is signed in.");
}
});