控制参展商记录访问是一门 PostgreSQL 实践项目课程,适合已掌握基础 SQL、希望让共享登记表遵守账号归属规则的学习者。两家参展商需要创建和维护各自的装货记录,主办方则需要查看所有参展商并分配展位。你将把这些边界落实到数据库中,再用它们完成真实操作。
一个引导实验依次讲解行可见性、新写入值检查和登记业务。一个独立挑战更换商家、数据表和记录,要求你用已经练习过的工具交付同样可用的访问边界。每个实验都会准备独立的环境和数据。
你将学到什么
完成本课程后,你将能够:
- 区分经过认证的普通登录账号与表所有者,并使用目标身份测试访问;
- 区分表级、列级权限与账号可以读取或修改的数据行;
- 移除范围过宽的宽松策略,同时保留主办方的合法访问;
- 用可复用的行策略 SQL 保护现有记录,以及 INSERT/UPDATE 提交的新值;
- 区分被隐藏的数据行、被拒绝的写入和连接失败,包括不返回记录的写入;
- 完成新登记与主办方分配,同时保留原有记录。
本课程适合谁
本课程适合希望实际练习数据库记录归属控制的 PostgreSQL 学习者和开发者。
前置知识: 基本终端导航,以及 PostgreSQL 连接、数据表、SELECT/WHERE、INSERT 和 UPDATE。实验会在使用前讲解角色、行级安全、策略表达式、事务和所需的 shell 语法。不需要 Python 编程基础。
学习环境: LabEx 提供可直接使用的浏览器 Terminal,内含 PostgreSQL、合成登记数据和分别准备的数据库账号。你作为操作者测试各个账号,不需要在本地安装数据库或准备云账号。
常见问题
本课程教授网站身份认证吗?
本项目关注真实数据库登录账号的权限,不实现网站登录、共享应用账号的租户上下文或连接池。表所有者和管理员仍被视为可信身份;课程不承诺阻止所有信息侧信道。
限制访问会禁止所有写入吗?
完成后的登记表必须仍然允许每家参展商进行自己的合法插入,以及联系信息和数量更新。普通主办方账号仍须能查看所有参展商并分配展位、费用。拒绝一切操作不能完成项目。
挑战中需要交付什么?
你需要保存并执行自包含的策略 SQL,再通过对应商家和主办方账号完成两条指定的装货登记。原有记录、身份和预置权限必须保留。挑战使用的工具和机制均已在引导实验中教授。

