【发布时间】:2021-09-13 16:34:37
【问题描述】:
我目前正在使用带有单个数据源的 Spring Boot 和 Hibernate 来访问单个数据库。我需要读取和写入数据库。到目前为止一切正常。
现在,我的项目经理在谈到 SQL 注入时有点偏执,尽管我们尽最大努力参数化任何接受任何类型用户输入的查询。因此,他问我是否可以使用两个数据库用户连接到同一个数据库:一个具有读/写访问权限,另一个具有只读访问权限。这样一来,对于每个只需要读取访问权限的查询,我都可以使用只读用户并获得额外的一层保护以防止 SQL 注入攻击。
经过一番谷歌搜索,我找到了 Baeldung 的优秀文章 over here 关于使用多个数据源。我想我可以采用这种方法,但我需要复制我的每个 @Entity 类,这听起来很糟糕。
所以我的问题是:
有没有一种巧妙的方式来切换数据库用户,这样我就可以使用一个用户读取,另一个用户写入数据库?
【问题讨论】:
-
没有。去找你的项目经理,告诉他这没有意义。
标签: java spring-boot hibernate jpa