news 2026/5/20 11:45:32

postgresql内的RLS规则

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
postgresql内的RLS规则

来源

https://chatgpt.com/share/6969eb21-0e50-8006-b6f3-6b9413d3be7a

RLS安全,设置用户和某个特定人可以进行修改

using ( user_id = auth.uid() ) 上述代码中,除了user_id = auth.uid(),我还想加入user_id='1922d5ca-aa33-4abc-9759-6ccb05d6b533'也可以查询数据,该怎么做?

注意细节:user_id=auth.uid()与auth.uid()='xxx-xxx-xxx-xxx'的区别

using ( auth.uid() = user_id or auth.uid() = '19c8d5ca-7233-4abc-9759-6dbb05d6b570' ); 代表已登录的用户自己与某个管理员可以得到结果
using ( user_id = auth.uid() or user_id = '19aad5ca-7cc3-4ddc-9129-6db215fdb510' ); 如果是select语句,意味着仅仅能查询到自己与'19aad5-xxx'的记录 不是管理员可以查询到所有数据的功能

下面这个公式很重要,核心观点

最终推荐完整版(UPDATE 场景)

alter policy "owner or system user" on your_table for update to public using ( user_id = auth.uid() or user_id = '19c8d5ca-7233-4abc-9759-6dbb05d6b570'::uuid ) with check ( user_id = auth.uid() or user_id = '19c8d5ca-7233-4abc-9759-6dbb05d6b570'::uuid );

using()与with check()的区别是什么?

普通用户只能看自己,管理员可以看所有

select

update/delete

某个role才能insert

const { data: { session }, error } = await supabase.auth.getSession() console.log('🟩 🟩 🟩 user', session); //session.user.role就有"limited_user"
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/20 5:06:20

全网最全9个一键生成论文工具,继续教育学生轻松搞定毕业论文!

全网最全9个一键生成论文工具,继续教育学生轻松搞定毕业论文! AI 工具助力论文写作,轻松应对学术挑战 在当今快速发展的教育环境中,继续教育学生面临着越来越高的学术要求。尤其是在撰写毕业论文时,如何高效完成内容创…

作者头像 李华
网站建设 2026/5/8 1:46:19

rpmbuild命令详解

1. 基本介绍rpmbuild是用于构建RPM软件包的命令行工具,它根据spec文件中的指令编译源代码并打包成可安装的RPM文件。2. RPM构建目录结构默认的RPM构建目录位于~/rpmbuild/:~/rpmbuild/ ├── BUILD # 编译时临时目录 ├── BUILDROOT # 虚拟安装…

作者头像 李华
网站建设 2026/5/14 6:52:58

【开题答辩全过程】以 基于微信小程序的华郅考勤管理系统为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…

作者头像 李华
网站建设 2026/5/10 8:34:49

微软VC运行库合集完整版下载-微软VC运行库合集完整版最新版下载

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

作者头像 李华
网站建设 2026/5/2 2:06:31

VP引导定位软件-目标(基准)位置确定

VP引导定位软件-目标&#xff08;基准&#xff09;位置确定 UIlb_TargetX lb_TargetY lb_TargetAlb_OffsetX lb_OffsetY lb_OffsetAlb_CurrentX lb_CurrentY lb_CurrentATargetLocation/// <summary>/// 目标位置/// </summary>public class TargetLocation{/// &l…

作者头像 李华