MySQL权限表,从PHP访问以在另一个数据库中使用?
Posted
技术标签:
【中文标题】MySQL权限表,从PHP访问以在另一个数据库中使用?【英文标题】:MySQL privileges table, access from PHP for use in another database? 【发布时间】:2014-03-14 04:07:57 【问题描述】:我正在构建一个与名为“cc”的基于 mysql 的数据库相关联的 php 应用程序。为了在我的数据库上查找用户(或用户组)权限,应用程序是否需要连接到“mysql”数据库才能访问其用户和数据库表,或者我应该在我的数据库中复制这些表的结构,所以该应用只需要连接到它?
或者应用程序应该对所有应用程序用户的 SQL 使用单个 db-admin 用户,并通过代码严格控制他们的权限?这将避免需要为每个用户(或每种类型的用户)查找权限,但违反了将数据库访问权限保持在用户所需的最低限度的原则。
【问题讨论】:
我不明白你在问什么。也许你应该稍微解释一下你的设计。 【参考方案1】:最常见的模式是您的应用程序使用 MySQL 用户连接到数据库,并且该用户具有足够的权限来执行所需的所有数据操作。
然后您的应用程序管理使用该应用程序的用户。这段代码可以自己写,也可以使用Symfony之类的框架
【讨论】:
我想我把事情弄得太复杂了。以下是我认为可行的方法——欢迎提供反馈。【参考方案2】:我觉得我把事情弄得太复杂了。以下是我认为可能有用的方法——欢迎反馈。 1. App用户提交用户ID和密码。 (此应用是为内部员工设计的,因此只有应用管理员创建用户。) 2. 应用通过身份验证连接连接到数据库,只能访问用户表以确定用户的权限级别。 3. 应用程序以具有适当权限的预定义 DB 用户身份重新连接到 DB。这有意义吗?
【讨论】:
以上是关于MySQL权限表,从PHP访问以在另一个数据库中使用?的主要内容,如果未能解决你的问题,请参考以下文章
Oracle - 授予非 dba 用户权限以在另一个用户对象上创建授权
如何从一个账户访问 s3 存储桶中的数据以在另一个账户中使用 redshift 处理数据?
PHP 生成 XML 文件以在另存为对话框中加载正确的文件类型