如何在Firebase实时数据库规则中校验auth.uid的前5个字符?
Firebase安全规则:仅校验UID前5个字符的实现
你当前的写入权限校验规则是:
".write": "$uid === auth.uid"这条规则会严格匹配用户的完整UID,只有当路径中的
$uid和认证用户的auth.uid完全一致时,才会授予写入权限。你想改成仅校验UID前5个字符的需求是可行的,但你示例中的写法
auth.uid.first5Characters不符合Firebase规则的语法规范。正确的做法是使用Firebase规则支持的字符串截取方法substring,具体规则如下:".write": "$uid.substring(0,5) === auth.uid.substring(0,5)"说明:
substring(0,5)会截取字符串从索引0到4的部分(第二个参数为结束索引,不包含该位置),正好获取前5个字符;- 分别对路径参数
$uid和认证用户的auth.uid执行截取操作后再比对,就能实现仅校验UID前5位的权限控制逻辑。
内容的提问来源于stack exchange,提问作者aronsommer
相关产品推荐
相关产品推荐

