Closed LordofAvernus closed 10 months ago
test1用户只有对单个数据源的SQL查询权限,但是工作台能看到所有的数据源
用户在工作台界面只能看到有查询权限的数据源
用户登陆控制台时,会通过当前用户已有权限查数据源,建立新的连接cloudbeaver_connection_caches并存在数据库表中。后续会根据当前用户可见的数据源id作为筛选条件,查询连接,并将查询出来的连接授予用户。
由于使用数据源id查询连接的时候,代码遗漏了数据源id的赋值,导致当前所有连接均会被查询出来。所以所有用户均会看到所有的连接信息
查询cloudbeaver_connection_caches条件为空,导致数据都被查询出来授权给test访问
UI: main-ee 09c032e4 DMS: main-ee 0f03f1dd12 SQLE: main-ee daee60eff4
平台有两个数据源
给user1授予mysql数据源上的权限
用user1账号登录SQLE,打开SQL工作台,只能看到被授权的mysql数据源,符合预期
问题背景:
test1用户只有对单个数据源的SQL查询权限,但是工作台能看到所有的数据源
预期
用户在工作台界面只能看到有查询权限的数据源
复现流程
问题原因
用户登陆控制台时,会通过当前用户已有权限查数据源,建立新的连接cloudbeaver_connection_caches并存在数据库表中。后续会根据当前用户可见的数据源id作为筛选条件,查询连接,并将查询出来的连接授予用户。
由于使用数据源id查询连接的时候,代码遗漏了数据源id的赋值,导致当前所有连接均会被查询出来。所以所有用户均会看到所有的连接信息