小编And*_*ith的帖子

如何限制多租户 MySQL 数据库?

我有下表:

Create table `webservice`(  
  `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT,
  `hostname` text NOT NULL,
  `portalid` int NOT NULL,
  `serviceid` int NOT NULL,
  `customerid` int,
  primary key (`id`)
)
Run Code Online (Sandbox Code Playgroud)

我有多个客户使用不同的 FQDN 但相同的 DOCROOT 和 MySQL 登录访问多个门户和服务。它是多租户应用程序。

现在我希望每个访问者只能查看他有权查看的数据。所有这些用户都使用单个 MySQL 连接登录。

在第一次连接时,浏览器正在请求 FQDN,因此它应该授予查看关联的“portalid”行的权限。因此,在不知道 FQDN 的情况下,无法访问具有不同 portalid 的

当用户登录时,他的视图应该被限制为只有他自己的customerid 的记录。

我不知道该怎么做,但我想我可以在 SQL 中使用会话数据,这将允许获取所需的数据。但是我目前不知道如何设置。

我有这样的会话:https : //security.stackexchange.com/questions/17318/how-to-secure-mysql-based-web-session-data-table

mysql

4
推荐指数
1
解决办法
2154
查看次数

标签 统计

mysql ×1