假设我有一个管理敏感数据(例如客户的健康记录)的应用程序。在取得巨大成功后,我吸引了许多客户——其中一些是名人。我现在有很多员工使用这个应用程序。但是,我想通过只允许特权账户经理访问“名人”的记录来保护所说的“名人”的身份。
此应用程序的数据存储在经过多年发展的关系数据库中。“客户”表有一个“名人”列,表示名人的记录;“用户”表有一个“特权”列,表示员工可以访问名人的记录;假设两者都是布尔值。
我可以掠夺整个数据层,为所有查询添加 where 子句;我还必须开始发送一个标志,指示用户是否“特权”。这是一项艰巨的任务,但还有其他选择吗?
我正在寻求一般建议,但我的应用程序是在 Java 平台上编写的。
更新:我熟悉基于角色的访问控制以及用户、组、角色、权限、权限等如何以良好的规范化方式布局,但目前不是一个选项。更有可能的是,我将重构和调整当前系统以使用 Spring Security 等框架。