我运行了这个查询
REVOKE SELECT ON services_connected FROM anon;
个
并添加了该策略
create policy "workspace_only"
on "public"."services_connected"
for all
to anon
using ((workspace_id = (((current_setting('request.jwt.claims'::text, true))::json ->> 'workspace_id'::text))::bigint));
我原本以为这会限制SELECT操作,但允许其他操作(INSERT、UPDATE、DELETE),但现在我的所有响应都被拒绝了
这是我正在调用的函数
DROP FUNCTION IF EXISTS public.disconnect_service;
CREATE OR REPLACE FUNCTION public.disconnect_service(service_name_value TEXT)
RETURNS VOID AS $$
DECLARE
workspace_id_value BIGINT := ((current_setting('request.jwt.claims'::text, TRUE))::JSON ->> 'workspace_id')::BIGINT;
BEGIN
DELETE from services_connected where workspace_id = workspace_id_value and service_name = service_name_value;
DELETE FROM users_list WHERE workspace_id = workspace_id_value and service_name = service_name_value;
END;
$$ LANGUAGE plpgsql;
你知道我做错了什么吗?