新行违反了表“任务”的行级安全策略

问题描述 投票:0回答:3

我是supabase的新手,正在尝试集成用BlueBase(一个基于react和react native的框架)制作的Todo应用程序。而且,我面临这样的问题。

CreateTaskScreen.tsx

import React from 'react';

import CreateTaskForm from '../../components/CreateTaskForm';

export const CreateTaskScreen = () => {
    return (
        <CreateTaskForm />
    );
};

CreateTaskScreen.displayName = 'CreateTaskScreen';

index.ts

export * from './CreateTaskScreen';

import { CreateTaskScreen } from './CreateTaskScreen';
export default CreateTaskScreen;

reactjs react-native supabase supabase-database bluebase
3个回答
3
投票

添加策略似乎是最好的方法,这样您就不需要禁用RLS策略并且不需要使用密钥,这对您的数据来说非常不安全。

要做到这一点,

  1. 转至 “身份验证” > “策略” > 选择 “新建” 政策》

  2. 然后从模板添加策略插入数据。

  3. 按照后续步骤操作

  4. 查看您的政策

  5. 保存新政策


1
投票

仔细输入 API URL 和 API Key。它将解决您的问题

新行违反了表“任务”的行级安全策略

错误。并且还要按照蓝色基础文档仔细创建表格。仔细输入表名称、类型和默认值。 另外,id 的默认值为

uuid_generate_v4()
。你可以在建议中看到它。


0
投票

我遇到了同样的错误。使用pgsql。经过大量研究后,我知道我们需要为相应的表添加触发器。

-- Drop the trigger function
DROP FUNCTION set_tenant_id_on_insert;

-- Create the trigger function
CREATE OR REPLACE FUNCTION set_tenant_id_on_insert()
RETURNS TRIGGER AS $$
BEGIN
    NEW.tenant_id := current_setting('my.tenant_id');
    RETURN NEW;
END;
$$ LANGUAGE plpgsql; 

-- Register the trigger
CREATE TRIGGER insert_tenant_id_into_credentials
BEFORE INSERT ON credentials
FOR EACH ROW
EXECUTE FUNCTION set_tenant_id_on_insert();
© www.soinside.com 2019 - 2024. All rights reserved.