Gol*_*k84 3 oracle permissions
在我的软件中,在运行时,我需要检查连接的用户是否对某些表具有权限,跨越 2 个不同的模式。从我发现的研究中,我遇到了这两个视图 ALL_TAB_PRIVS_RECD ALL_TAB_PRIVS 我应该使用这些视图中的一个,还是有另一种更好的方法来做到这一点?谢谢
我最终提出了这个查询,仅当连接的用户与我想要检查权限的模式不同时才使用该查询:
SELECT PRIVILEGE
FROM ALL_TAB_PRIVS_RECD
WHERE PRIVILEGE = 'SELECT'
AND TABLE_NAME = 'GN_VERSION'
AND OWNER = 'USER_A'
UNION ALL
SELECT PRIVILEGE
FROM SESSION_PRIVS
WHERE PRIVILEGE = 'SELECT ANY TABLE';
Run Code Online (Sandbox Code Playgroud)
这会检查 USER_A 架构上的表 GN_VERSION 的 SELECT 权限
归档时间: |
|
查看次数: |
28061 次 |
最近记录: |