收藏
回答

报告关于数据库安全规则的bug

框架类型 问题类型 终端类型 AppID 基础库版本
小程序 Bug 微信安卓客户端 wxbb9a99482b87efd1 2.8.1

{

"read": "auth.openid == get(`database.openid2groupid.${doc.groupId}`).another_openid",

"write": "doc._openid == auth.openid"

}


{

"read": "get(`database.openid2groupid.${doc.groupId}`).another_openid == auth.openid",

"write": "doc._openid == auth.openid"

}

今天尝试了数据库安全规则,想设置权限,结果整了好久权限没给出来,机缘巧合发现,auth.openid所在的位置不同,居然影响条件表达式的结果,auth.openid在前面,他总是拒绝我,auth.openid才如期运行,哭了

代码是下面的,查询传入一个groupId,到数据库openid2groupid查记录,如果记录_id == groupId,查记录的another_openid里有没有和auth.openid相同的,有就授权

mergeCommonCriteria(criteria) {

return {

groupId: this.data.groupId,

...criteria,

}

},


async initRoom() {

this.try(async () => {

await this.initOpenID()


const { envId, collection } = this.properties

const db = this.db = wx.cloud.database({

env: envId,

})

const _ = db.command


const { data: initList } = await db.collection(collection).where(this.mergeCommonCriteria()).orderBy('sendTimeTS', 'desc').get()



回答关注问题邀请回答
收藏

2 个回答

  • Toky
    Toky
    2019-12-21

    请问这个安全规则是在哪里配置吖?一直没找到....

    2019-12-21
    有用
    回复 5
    • (ಡωಡ)
      (ಡωಡ)
      2019-12-21
      开发版才有
      2019-12-21
      1
      回复
    • Toky
      Toky
      2019-12-21回复(ಡωಡ)
      是开发工具的版本嘛,请问你的是啥版本啊
      2019-12-21
      回复
    • Toky
      Toky
      2019-12-21
      我看到文档上说是1911252
      2019-12-21
      回复
    • (ಡωಡ)
      (ಡωಡ)
      2019-12-21
      1912172
      2019-12-21
      回复
    • Toky
      Toky
      2019-12-21回复(ಡωಡ)
      好的谢谢你!
      2019-12-21
      回复
  • (ಡωಡ)
    (ಡωಡ)
    2019-12-12


    2019-12-12
    有用
    回复 3
登录 后发表内容
问题标签