Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 登录到Oracle时,仅为用户选择一个角色_Vb.net_Oracle - Fatal编程技术网

Vb.net 登录到Oracle时,仅为用户选择一个角色

Vb.net 登录到Oracle时,仅为用户选择一个角色,vb.net,oracle,Vb.net,Oracle,我有一个oracle数据库,其中两个角色分配给同一个用户 用户将从.Net应用程序进行连接 因为每个角色都有自己的特权,所以在使用我的应用程序时,我希望只考虑一个角色。因此,用户将在登录到应用程序时选择要考虑的角色。与其他角色相关的特权将不会处于“活动”状态 例如 角色1可以访问表A 角色2可以访问表B 因此,理论上,用户可以访问A&B 使用我的应用程序时: 选择1或2 如果为1,则仅显示一个表 如果为2,则仅显示B表 可以吗 谢谢使用是一种方式: CREATE ROLE roleA; CREA

我有一个oracle数据库,其中两个角色分配给同一个用户

用户将从.Net应用程序进行连接

因为每个角色都有自己的特权,所以在使用我的应用程序时,我希望只考虑一个角色。因此,用户将在登录到应用程序时选择要考虑的角色。与其他角色相关的特权将不会处于“活动”状态

例如 角色1可以访问表A 角色2可以访问表B

因此,理论上,用户可以访问A&B

使用我的应用程序时:

选择1或2

如果为1,则仅显示一个表 如果为2,则仅显示B表

可以吗

谢谢

使用是一种方式:

CREATE ROLE roleA;
CREATE ROLE roleB;
GRANT SELECT ON tableA to roleA;
GRANT SELECT ON tableB to roleB;
GRANT roleA to TheUser;
GRANT roleB to TheUser;
当用户在应用程序中选择角色时,发出相应的SET role命令:

用户选择1:

SET ROLE roleA;
否则,

SET ROLE roleB;

由于这些角色不是默认角色,因此它们将仅通过SET ROLE命令处于活动状态。你也可以用密码保护角色。

这正是我想要的!谢谢你的帮助!