1

저는 firebase의 초보자입니다.허가 기반 거부 됨

이 아래의 규칙을 어떻게 통과합니까?

service cloud.firestore { 
    match /databases/{database}/documents { 
    match /{document=**} { 
     allow read, write: if false; 
    } 
    } 
} 
내가 아래에 규칙을 변경하려고했습니다

,

{ 
    "rules": 
    { 
    ".read": true, 
    ".write": true, 
    } 
} 

을하지만

mismatched input '{' expecting {'function', 'service', 'syntax'} 

의 오류가있다 아래는 DB 구조입니다.

// [START initialize_database_ref] 
    mDatabase = FirebaseDatabase.getInstance().reference 
    // [END initialize_database_ref] 

    val result = HashMap<String, Any>() 
    result.put("timestamp", getCurrentTime()) 
    result.put("user_id", USER_ID) 
    result.put("x_position", -1) 
    result.put("y_position", -1) 

    mDatabase!!.ref.child("raw data").child("Z9QD79lDzP7MpD6feWeJ").setValue(result).addOnFailureListener(object : OnFailureListener { 
     override fun onFailure(@NonNull e: Exception) { 
      Log.d("firebase", e.localizedMessage) 
     } 
    }) 

이 어떤 도움을 주시면 감사하겠습니다 :

현재

db structure,이 (권한 - 거부, 리턴 유지하는) 내 코드입니다! 감사합니다 :)

답변

1

Cloud Firestore에서 실시간 데이터베이스로 전환 한 다음 규칙을 변경하여이 문제를 해결할 수있었습니다. (I이 변경 한 후에는 더 이상 오류를 보여주는 없었다!)이 문제로 어려움을 겪고 다른 사람을 위해 enter image description here

1

가 적절한 솔루션이 false 동안 true으로

service cloud.firestore { 
    match /databases/{database}/documents { 
     match /{document=**} { 
      allow read, write: if false; 
     } 
    } 
} 

에서 테스트를 변경하는 것입니다. 프로젝트를 진행할 때 보안을 추가하는 것을 잊지 마십시오!

+0

나는 또한 것을 시도했다, 그러나 아직도 권한이 거부되었다. 비록 내가 다른 방식으로 문제를 해결했지만, 나는 왜 이것을 위해 :( – user3415167

0

"실시간 데이터베이스"또는 "클라우드 Firestore"를 사용하는 경우 Angular NgModule과 구성 요소를 확인해야합니다. "angularfire2"을 사용하여 diferences를 참조하십시오

실시간 DATABASE

@NgModule({ 
... 
imports: [ 
    AngularFireDatabaseModule, 
    ... 
], 
providers: [ 
AngularFireDatabase, 
... 
] 
}) 


@Component({...}) 
export class FirestoreComponent{ 
    constructor(private realtimeDb:AngularFireDatabase, ...) { 
     this.locations = realtimeDb.list('locations').valueChanges(); 
    } 
... 
} 

클라우드의 경우 FireStore

@NgModule({ 
    ... 
    imports: [ 
     AngularFirestoreModule, 
     ... 
    ] 
}) 

@Component({...}) 
export class FirestoreComponent{ 
    constructor(private firestore:AngularFirestore, ...) { 
     this.locations = firestore.collection('locations').valueChanges(); 
    } 
... 
}