Я прочитал In firebase, can I set permissions to allow only PUSH operations to a given object? и до сих пор скопировал его, но он не работает.Firebase: запретить все, кроме .push к списку
У меня есть сайт, который используется анонимно, и где я собираю комментарии. Я хочу сохранить новые, которые нужно добавить, но чтобы предотвратить редактирование и удаление существующих данных.
Угловое 2, с AngularFire2
export class FirebaseService {
comments: FirebaseListObservable<Object>;
locations: FirebaseListObservable<Object>;
constructor(private af: AngularFire) {
this.comments = this.af.database.list(environment.stem + '/comments');
}
addComment(comment) {
return this.comments.push(comment)
.catch(err => console.error(err));
}
}
Я ожидал, что это правило будет делать это, так как не будет ни одна из существующих данных в том случае, когда я нажимаю?
{
"rules": {
".read": true,
".write": "!data.exists()"
}
}
Установка правила записи в true
делает его работу, но слабее, чем я хочу.
Вот начало существующего JSON в этом маршруте базы данных (ключи здесь приходят от службы Я проникаю от)
{
"0763a8d3e2407697" : {
"comment" : "Thanks for your comments and feedback, Simon",
"date" : "Sat Jan 03 2015 08:46:17 GMT+0100 (CET)"
},...
Можете ли вы добавить код для операции, которую вы хотите разрешить * и * код для операции, которую вы хотите отклонить? Также, пожалуйста, добавьте существующий JSON на место (в виде текста, без скриншотов). –
@FrankvanPuffelen См. Обновленный вопрос –