已知条件
- 有数据表: TABLEA;
- 用户账号: userAdmin (管理员), userB(普通用户);
- 用户组: ADMINS组, 非ADMINS组;
- userAdmin 属于用户组 ADMINS组, userB 未属于任何用户组;
- userAdmin 有表 TABLEA 的全部权限(检索/管理/更新/添加/删除);
- userB 有表 TABLEA 的检索权限.
检索语句
|
|
检索2
|
|
操作发现
使用 userAdmin 在数据库对表 TABLEA 使用 检索1 & 检索2 均能正常返回检索结果.
使用 userB 同样对表 TABLEA 使用 检索1 & 检索2, 检索1 正常返回结果, 检索2 返回错误提示"SQL 语句的参数不正确, 错误码-3501", 如下图:
尝试
遂进行各种尝试, 结果如下:
- 用户 userB 类似 检索2 语句形式尝试其他有检索权限的表, 同样报错.
- 给用户 userB 添加更多表的检索权限, 使用 检索2 仍然报错.
- 给用户 userB 指定表提供管理/更新/添加/删除权限, 使用 检索2 仍然报错.
- 把用户 userB 加入 ADMINS组, 使用 检索2 不再报错, 但是该用户不再受数据访问授权控制, 所以不能这么做.
- 把用户 userB 加入 非ADMINS组, 使用 检索2 仍然报错.
- 企业管理器查找 ADMINS组 与 非ADMINS组 的区别, 暂时没有能明确显示用户组的权限内容.
结论 | G
我觉得这个问题还是跟权限控制有关系, 但是在企业管理器里好像找不到更具体的权限显示, 因此暂且搁置仅作记录.