Php 使用具有多个用户权限的左外部联接查询Yii模型关系

Php 使用具有多个用户权限的左外部联接查询Yii模型关系,php,join,user-permissions,yii,Php,Join,User Permissions,Yii,我正在使用Yii框架,我想让它更安全: 具有敏感数据(如用户数据)的模型应使用自己的MySQL用户,该用户仅具有此表的权限。具有不敏感数据的模型可以使用对用户表没有权限的默认用户 示例: 表“post”有以下字段:“id”、“author”、“title”和“content” 表“users”有以下字段:“id”、“username”、“pwhash”、“email” 实现这一点非常容易,只需使用配置文件中指定的具有访问用户表权限的第二个db连接覆盖用户模型中的getDbConnection()

我正在使用Yii框架,我想让它更安全:
具有敏感数据(如用户数据)的模型应使用自己的MySQL用户,该用户仅具有此表的权限。具有不敏感数据的模型可以使用对用户表没有权限的默认用户

示例:
表“post”有以下字段:“id”、“author”、“title”和“content”
表“users”有以下字段:“id”、“username”、“pwhash”、“email”

实现这一点非常容易,只需使用配置文件中指定的具有访问用户表权限的第二个db连接覆盖用户模型中的getDbConnection()

我的问题是,当模型与用户表有关系时(例如,post有链接到用户表的字段author),Yii正在构建一个连接查询,该查询试图以较低的权限访问用户表

简单的解决方案是为post模型提供一个db连接,该连接可以访问两个表,但在这种情况下,安全性消失了。 还有其他解决方案吗?

您可以使用“外部”API级别为您处理正确的权限


谢谢您的回答!但是我认为这个扩展对我来说不是正确的选择。我已经有了一个非常大的代码库,包含了不同的项目,对于这个小小的安全改进来说,改变一切并为每个项目构建一个API实在是太多了。你还有别的想法吗?也许可以尝试阻止连接并将所有关系分开?