小技巧,云存储访问权限设置时条件
-
云存储bucket
云存储bucket的RLS默认就是开启的,无需手动开启。新建bucket时,如果选择公开bucket,则任何人可以访问bucket中的对象文件;否则无权访问。判断条件
① 指定路径的文件
name='admin/assets/example.png'
② 获取文件的指定层级文件夹名称
(storage.foldername(name))[1]='admin'
③ 发起请求用户的角色,这里的角色可以是已认证的(authenticated),匿名的(anon),或你定义的自定义角色。
auth.role()='authenticated'
④ 发起请求的用户uid等于文件夹名称
auth.uid()::text=(storage.foldername(name))[1]
⑤获取文件的扩展名
storage."extension"(name)='jpg'
⑥ 发起请求的用户uid等于指定值
auth.uid()::text='abcd'