質問編集履歴

3

typo

2017/04/04 03:29

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  2017-04-04 追記
14
14
 
15
- 案2のような構造にした場合、ユーザーごとのデータはユーザーしか閲覧できないように権限を設定すると、セキュリティルールの仕様上、一覧を取得できなくなるので、案2を改造しました。
15
+ 案2のような構造にした場合、ユーザーごとのデータはユーザーしか閲覧できないように権限を設定すると、セキュリティルールの仕様上、一覧を取得できなくなるので、案2を改造しました。
16
16
 
17
17
 
18
18
 

2

セキュリティルールを考慮するパターン

2017/04/04 03:29

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -5,6 +5,14 @@
5
5
  明確にこちらがよいという理由が思い浮かばず、決めかねているのですが、それぞれを採用する場合のメリット・デメリットを教えていただけるとありがたいです。
6
6
 
7
7
  よろしくお願いします。
8
+
9
+
10
+
11
+ ---
12
+
13
+ 2017-04-04 追記
14
+
15
+ 案2のような構造にした場合、ユーザーごとのデータはユーザーしか閲覧できないようにし権限を設定すると、セキュリティルールの仕様上、一覧を取得できなくなるので、案2を改造しました。
8
16
 
9
17
 
10
18
 
@@ -115,3 +123,63 @@
115
123
  }
116
124
 
117
125
  ```
126
+
127
+ **追記)**これだと各データはそのユーザーにしかアクセスできないようにルールを設定した場合、`/diaries`や`/todos`でデータの一括取得ができなくなる。([Firebaseガイド:ルールはフィルターではない](https://firebase.google.com/docs/database/security/securing-data?hl=ja#rules_are_not_filters))
128
+
129
+ なのでこうする必要がある。こうすれば`/diaries/[user_id]`でユーザーごとのデータ一覧が取得できる。
130
+
131
+ ```json
132
+
133
+ {
134
+
135
+ "diaries": {
136
+
137
+ "user_id_1": {
138
+
139
+ "diary1": {
140
+
141
+ "user_id": "user_id_1",
142
+
143
+ "details": " ... "
144
+
145
+ ...
146
+
147
+ },
148
+
149
+ "diary2": {
150
+
151
+ "user_id": "user_id_1",
152
+
153
+ "details": " ... "
154
+
155
+ ...
156
+
157
+ },
158
+
159
+ },
160
+
161
+ "user_id_2": { ... },
162
+
163
+ },
164
+
165
+ "todos"; {
166
+
167
+ "user_id_1": {
168
+
169
+ "todo1": {
170
+
171
+ "user_id": "user_id_1",
172
+
173
+ ...
174
+
175
+ },
176
+
177
+ },
178
+
179
+ },
180
+
181
+ ...
182
+
183
+ }
184
+
185
+ ```

1

FirebaseのセキュリティルールとFan-outを考慮したパターン

2017/04/04 03:27

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
File without changes