我是新来的火力地堡,真正与安全规则挣扎。火力地堡安全规则
我想存储的数据只能由该用户进行访问,但匿名用户会话,只要我收紧的安全规则,我得到拒绝的权限,并不能明白为什么。
我的结构是:
/userSessions/$ USER/USER_ID
的应用推送至用户会话,并写入由匿名登录返回的USER_ID。
我有以下安全规则:
{
"rules": {
".read": true,
"userSessions": {
"$user": {
".write": "newData.child('user_id').val() == auth.id",
"user_id": {
".validate": "newData.isString()"
}
}
}
}
}
我知道我在做一些愚蠢的,但不知道如何使用安全模拟器或者所以不知道怎么走有关解决这个
任何帮助,不胜感激
编辑 - 努力创造匿名认证后下userSessions一个新的条目时,会发生 问题。
代码:
var userSessionsRef = new Firebase('https://xxxxxx.firebaseio.com/userSessions');
var userSession;
var auth = new FirebaseSimpleLogin(userSessionsRef, function(error,user) {
if (error) {
console.log(error);
} else if (user) {
userSessionsRef.child(user.id).set({
user_id: user.id,
provider: user.provider,
created: Firebase.ServerValue.TIMESTAMP
});
userSession = new Firebase('https://xxxxx.firebaseio.com/userSessions/'+user.id);
userSession.onDisconnect().remove();
}
当您获取权限被拒绝时,您想做什么? –
下创建userSessions一个新的$用户 - 我会更新的问题 –
嗨@JonReeves!当你在模拟器中试用时,你会得到什么?另外,它似乎很可能是user.id是一个数字(我假设你使用Twitter或Facebook?他们都返回数字ID)。另外,哪些数据正在设置?你可以登录用户对象,并在这里发布?您可以为我们提供更多的数据,使您能够轻松快速地进行故障排除。 – Kato