小编Mar*_*zki的帖子

Firestore读取具有自我条件的规则

我目前正在尝试在firebase上构建小应用程序作为对它的评估.它看起来很有趣,而且效率很高,但我对firestore规则有一个问题.

我有一个集合(游戏),对象看起来像这样:

{
    "name":String,
    "description":String,
    "owners": 
    {
        "uid": String
        "uid2": String
    }
}
Run Code Online (Sandbox Code Playgroud)

规则设置如下:

service cloud.firestore {
    match /databases/{database}/documents {
        match /games {
            match /{game} {
                allow write: if request.auth != null && request.resource.data.owners[request.auth.uid] == 'ADMIN';
                allow update: if request.auth != null && resource.data.owners[request.auth.uid] == 'ADMIN';
                allow read: if request.auth != null && resource.data.owners[request.auth.uid] == 'ADMIN';
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

写,更新工作正常.只读适用于单个文档.当我尝试读取集合时,我得到访问错误,就像用户没有权利一样.使它不起作用的部分是

resource.data.owners[request.auth.uid] == 'ADMIN'.
Run Code Online (Sandbox Code Playgroud)

添加where("owners."+auth.uid,"==", 'ADMIN')到集合查询也没有帮助.

我在这做错了什么?对于类似的场景,firebase firestore中是否有建议的方法?

编辑:我尝试添加'get'和'list'规则,如下所示:

allow list: if request.auth != null;

allow get: if …

firebase firebase-security google-cloud-firestore

9
推荐指数
1
解决办法
977
查看次数

如何使用AspectJ设置springframework @Transactional

我想用来spring-aspects使我的方法事务性,但不使用Spring AOP(Spring AOP可以正常使用:) <tx:annotation-driven/>.我正在使用Maven来管理我的项目.

有没有办法在我的项目类上进行编译时编织,因此"它们就是Transactional".我试图使用Mojo的AspectJ Maven插件,但没有任何好的结果.

请帮忙.

java spring maven-2 aspectj spring-aop

6
推荐指数
1
解决办法
2万
查看次数