我们使用了几个大致如下所示的表:
| ID | DepartmentId | Data |
| 1 | 1 | ... |
| 2 | 1 | ... |
| 3 | 2 | ... |
| 4 | 3 | ... |
| 5 | 2 | ... |
Run Code Online (Sandbox Code Playgroud)
我们有大约 200 个 MySQL 用户,每个用户都与一个或多个部门相关联(通过一个简单的 Username/DepartmentId 表)我们希望将访问权限(SELECT、UPDATE)限制为每个用户的正确记录子集。
例如,一个
SELECT * FROM DataTable
Run Code Online (Sandbox Code Playgroud)
与部门 1 和 3 关联的用户“Bob”应返回记录 1、2 和 4。对与部门 1 关联的用户“Alice”的相同查询应仅返回记录 1 和 2。
实现这一目标的最佳方法是什么?