feat(admin): implement user level, group and label modules with database, rpc and ui
This commit is contained in:
12
docs/sql/20_rls/user/ak_user_groups_rls_v1.sql
Normal file
12
docs/sql/20_rls/user/ak_user_groups_rls_v1.sql
Normal file
@@ -0,0 +1,12 @@
|
||||
-- =====================================================================================
|
||||
-- RLS: 用户分组表
|
||||
-- 位置:docs/sql/20_rls/user/ak_user_groups_rls_v1.sql
|
||||
-- 对象类型:RLS 策略
|
||||
-- 版本:v1
|
||||
-- 说明:管理端全量访问通过 RPC 完成;消费者端默认不开放直接访问
|
||||
-- =====================================================================================
|
||||
|
||||
ALTER TABLE public.ak_user_groups ENABLE ROW LEVEL SECURITY;
|
||||
|
||||
-- 如果未来消费者端需要展示所在分组,可以在此添加对应的 SELECT 策略
|
||||
-- 目前默认不向普通用户开放任何直接 SQL 读写权限
|
||||
12
docs/sql/20_rls/user/ak_user_labels_rls_v1.sql
Normal file
12
docs/sql/20_rls/user/ak_user_labels_rls_v1.sql
Normal file
@@ -0,0 +1,12 @@
|
||||
-- =====================================================================================
|
||||
-- RLS: 用户标签表
|
||||
-- 位置:docs/sql/20_rls/user/ak_user_labels_rls_v1.sql
|
||||
-- 对象类型:RLS 策略
|
||||
-- 版本:v1
|
||||
-- 说明:管理端全量访问通过 RPC 完成;消费者端默认不开放直接访问
|
||||
-- =====================================================================================
|
||||
|
||||
ALTER TABLE public.ak_user_labels ENABLE ROW LEVEL SECURITY;
|
||||
|
||||
-- 若后续消费者端需要展示标签,可在此添加 SELECT 策略
|
||||
-- 当前默认不向普通用户开放任何直接 SQL 读写权限
|
||||
23
docs/sql/20_rls/user/ak_user_levels_rls_v1.sql
Normal file
23
docs/sql/20_rls/user/ak_user_levels_rls_v1.sql
Normal file
@@ -0,0 +1,23 @@
|
||||
-- =====================================================================================
|
||||
-- RLS: 用户等级表
|
||||
-- 位置:docs/sql/20_rls/user/
|
||||
-- 对象类型:RLS 策略
|
||||
-- 版本:v1
|
||||
-- 说明:消费者端可读(仅可见/启用/未删除);管理端全量访问通过 RPC 完成
|
||||
-- =====================================================================================
|
||||
|
||||
ALTER TABLE public.ak_user_levels ENABLE ROW LEVEL SECURITY;
|
||||
|
||||
-- 消费者端:允许读取可见且启用的等级(未删除)
|
||||
DROP POLICY IF EXISTS ak_user_levels_public_select_visible_active ON public.ak_user_levels;
|
||||
CREATE POLICY ak_user_levels_public_select_visible_active
|
||||
ON public.ak_user_levels
|
||||
FOR SELECT
|
||||
TO anon, authenticated
|
||||
USING (
|
||||
deleted_at IS NULL
|
||||
AND status = 1
|
||||
AND is_visible = TRUE
|
||||
);
|
||||
|
||||
-- 默认不开放写权限(INSERT/UPDATE/DELETE)给 anon/authenticated
|
||||
Reference in New Issue
Block a user