Database design 用户访问控制和数据可见性

Database design 用户访问控制和数据可见性,database-design,authentication,cakephp,data-structures,Database Design,Authentication,Cakephp,Data Structures,我有一个基于规则和权限的访问控制,这意味着每个组都有访问某些控制器的权限,并且用户是这些组的一部分。(这是在CakePHP框架中实现的) 但这种结构允许我知道哪些用户被授权“使用”,比如访问报告或添加新用户,但我想知道我可以使用哪些最佳设计模式或最佳实践来实现这些组中的数据可见性。例如,组“普通用户”成员只能看到他们自己的数据(data.User\u id=this.User\u id),但“主管”成员应该看到更多数据(data.User\u id=this.supervisor\u User\

我有一个基于规则和权限的访问控制,这意味着每个组都有访问某些控制器的权限,并且用户是这些组的一部分。(这是在CakePHP框架中实现的)

但这种结构允许我知道哪些用户被授权“使用”,比如访问报告或添加新用户,但我想知道我可以使用哪些最佳设计模式或最佳实践来实现这些组中的数据可见性。例如,组“普通用户”成员只能看到他们自己的数据(data.User\u id=this.User\u id),但“主管”成员应该看到更多数据(data.User\u id=this.supervisor\u User\u id),“老板”成员应该看到一切

我希望我清楚地表明,无论如何,我使用的身份验证模型基于以下模型:


只需将您的权限添加到before\u find()中即可。您可以在模型基础上逐个实现,也可以将其构建到app_模型中。这将允许您在不必修改控制器或查看文件的情况下限制数据或添加/删除字段。

我将更多地关注数据库设计和更具体的内容,即如何在数据本身上插入此类“可见性权限”