2013-06-11 57 views
-1

我在我的网站上有一个场景,其中登录的用户可能有修改数据库的权限。关于JDBC连接的澄清

因此,当用户现在登录时,我正在创建一个连接并将其用于运行查询。

有没有办法删除jdbc连接的写入权限,所以如果每次用户不想修改数据库时都尝试运行试图更新数据库的查询,他就无法这样做。

+0

删除用于连接配置中的数据库的用户的写入权限。 –

+0

如何在创建连接时删除jdbc连接的写入权限 –

+1

同样,权限不是针对JDBC连接的,是来自用于连接数据库的用户的,例如, (,**用户**,密码)。 **用户**具有写入权限,只需删除数据库中的这些权限即可。 –

回答

2

权限由数据库处理,而不是由jdbc连接处理。 如果要限制可以访问jdbc连接的用户,则必须在数据库内部执行此操作。

但是你总是有可能在执行它们之前检查查询。通过这样做,您可以过滤掉不需要的查询。 顺便说一句,提供一堆预定义的查询是一个好主意,用户可以选择和禁止自由用户定义的查询。

如果您对所有网站用户使用一个通用数据库用户,则必须自行进行权限检查,例如,通过过滤查询。

+0

数据库的每个用户都无法访问连接到数据库。我有一个jdbc连接池,我正在读取和写入表中的数据,并且如果在执行它们之前尝试检查查询,我会必须在300多个地方更改代码。 –

+0

查看更新的答案 – mschenk74

+0

或者我想的另一个方向是我维护2个连接池。一个具有读取和写入权限,另一个只具有读权限。那可能吗。 –