我有一个 Postgres 表,如下所示:
用户身份 | 名 | 姓 | 电子邮件地址 | 角色 |
---|---|---|---|---|
68f00c4c-5dff-4886-a584-d44a23e47160 | 大卫 | 桑 | 大卫@example.com | 行政人员 |
3ed36117-e632-4b8b-b672-0b29f5f8b5c9 | 马丁 | 休斯 | martin@example.com | 顾客 |
我想写一份政策:
first_name
,last_name
和,但显然不是他们的或(因为这将授予客户管理权限)email_address
user_id
role
user_id
所有记录之外的所有字段(包括更改其他用户的角色)。我是 Postgres 的新手,我正在尝试掌握编写行级安全策略的技巧。我很难在 SQL 中阐明更复杂的策略,因此如果有人能为我的应用程序中的场景提供示例,我将不胜感激。
我正在使用 Supabase,它有一个auth.uid()
函数(示例),其中包含 JSON Web 令牌中的用户 ID。