我有下表:
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 ×1