-- ===================================================================================== -- RLS: 客服模块安全策略 -- 位置:docs/sql/20_rls/kefu/ml_kefu_rls_v1.sql -- 对象类型:RLS 策略 -- 版本:v1 -- 说明:管理端全量访问通过 RPC 完成;用户仅能操作自己的留言反馈 -- ===================================================================================== -- 开启所有表的 RLS ALTER TABLE public.ml_kefu_accounts ENABLE ROW LEVEL SECURITY; ALTER TABLE public.ml_kefu_word_categories ENABLE ROW LEVEL SECURITY; ALTER TABLE public.ml_kefu_words ENABLE ROW LEVEL SECURITY; ALTER TABLE public.ml_kefu_feedbacks ENABLE ROW LEVEL SECURITY; ALTER TABLE public.ml_kefu_auto_replies ENABLE ROW LEVEL SECURITY; -- 1. 留言反馈表策略 -- 允许登录用户插入自己的留言 DROP POLICY IF EXISTS ml_kefu_feedbacks_user_insert ON public.ml_kefu_feedbacks; CREATE POLICY ml_kefu_feedbacks_user_insert ON public.ml_kefu_feedbacks FOR INSERT TO authenticated WITH CHECK (user_id = auth.uid()); -- 允许用户查看自己的留言 DROP POLICY IF EXISTS ml_kefu_feedbacks_user_select ON public.ml_kefu_feedbacks; CREATE POLICY ml_kefu_feedbacks_user_select ON public.ml_kefu_feedbacks FOR SELECT TO authenticated USING (user_id = auth.uid()); -- 其他表(账号、话术、自动回复)默认不向 anon/authenticated 角色开放 SELECT/INSERT/UPDATE/DELETE -- 管理端全量管理将通过 SECURITY DEFINER 的 RPC 函数执行