1
因此,我创建了多租户数据库,其中每个租户都有自己的模式。我正在使用Java JDBC & MySQL。当新租户注册时,他们为其组分配的名称将成为架构名称。安全地为多租户数据库创建新模式
我的挑战是如何在没有SQL注入的情况下做到这一点。显然,你不能参数创建模式语句,就像这样:
create schema ?
如果我允许字符串中的名字只是被放置在该语句的结束,我打开SQL注入一个极大的相的安全漏洞。所以我只是想知道这里最好的方法是什么。
我最好的猜测是让架构名称不是实际的组名,而是通过内部进程创建它们。 (groupId + firstThreeLettersOfName)的一些东西。但我对想法持开放态度。
谢谢。
我对此的解决方案是不为每个租户使用单独的架构。你能否告诉我们为什么每个租户需要一个单独的模式? –