千家信息网

怎么理解oracle中default role

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,本篇内容主要讲解"怎么理解oracle中default role",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么理解oracle中default rol
千家信息网最后更新 2025年02月02日怎么理解oracle中default role

本篇内容主要讲解"怎么理解oracle中default role",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么理解oracle中default role"吧!

ORACLE创建角色的时候是可以带密码验证的。当为一个用户授予角色时,如果是授予的DEFAULT的时候,那么这个用户登录的时候自动就具备了这个角色,不需要进行这个角色的密码验证的。如果不是DEFAULT的,那么可以使用SET ROLE ROLE_NAME IDENTIFIED ROLE_PASSWORD来进行密码验证后,用户才能具有相应的角色。

oracle权限体系中有个default role,比较难以理解。下面用实例说明一下作用。

我们可以给某个用户分配一些角色,比如role r1,r2,r3,r4,而其中可以将某些角色比如r1设置为default role,其他的不设置成default role,这样,当该用户登录时,自动具有default role中所包含的权限,其他的角色所具有的权限要通过set role 角色来获得。

下面我们举个例子:

(1)sys用户作为sysdba登录,创建4个角色:


create role r1;

create role r2 identified by r2;

create role r3 identified by r3;

create role r4 identified by r4;


(2)sys用户赋予这四个角色对应的权限:


grant create session to r1;

grant select on hr.test to r2; (这里hr.test是我新创建的一个表,里面有ID和name两列)

grant update(name) on hr.test to r3;

grant insert on hr.test to r3;

grant delete on hr.test to r4;


(3)sys用户创建一个用户u3

create user u3 identified by u3;

(4)将角色r1,r2,r3,r4赋予用户u3

grant r1,r2,r3,r4 to u3;

在修改用户u3的默认角色前,r1,r2,r3,r4 角色均为u3的 default role,以u3用户登录,查询、增删改hr.test,都没有问题。

(5)现在sys用户修改用户u3的default role,仅将r1作为u3的默认角色:

alter user u3 default role r1; --此时将覆盖原来的设置,u3 的default role =r1,仅仅有登录权限。

(6)用户u3 log off ,然后再log on,进去后发现,

查询、增删改hr.test都不能进行。

(7) 用户自己打开role权限

set role r2 identified by r2;

这时执行 select * from hr.test,发现没有问题。增删改不行。

将对应的角色打开:

set role r3 identified by r3;

此时修改和插入记录没有问题,但是select * from hr.test 确发现不行了。证明此时用户所属的角色仅仅是默认角色r1,和刚刚打开的角色r3,而r2被set role r3 identified by r3;覆盖掉了。

那要同时有r2,r3,r4的权限怎么办呢?

set role r2 identified by r2,r3 identified by r3,r4 identified by r4。此时就同时对hr.test可以进行查询,增删改了。

不过set role 的效果是临时的,只是当前session有效,其他的session无效,当结束当前session后再登录,又只有default role 的权限了。

到此,相信大家对"怎么理解oracle中default role"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

角色 用户 权限 登录 查询 密码 时候 问题 验证 不行 内容 同时 学习 实用 更深 有效 体系 作用 例子 兴趣 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 湖州智能化网络技术来电咨询 钉钉如何导出审批数据库 go语言服务器开发 健康保障主题数据库怎么做 项目连接不了远程数据库 网络安全年度工作报告ppt 忻州软件开发哪家好 饿了么的服务器在哪国 软件数据丢失是数据库的问题吗 软件开发商想以此为虚头 网络安全碰撞法 关于网络安全法的文章开头 软件开发公司财务部副经理的职责 软件开发周期测试阶段顺序 空间数据库二维表 网站对应服务器ip地址 对于网络安全内审的理解 软件开发视频教程第三讲 殷晓明 网络安全 学习计算机网络技术怎么学 增加数据库列类型 实验七sql的数据库安全性 单片机嵌入式软件开发招聘 1U1N服务器尺寸 信源豆豆登录显示服务器禁止注册 数据库怎么创名 双阳区通用网络技术咨询诚信服务 目前数据库领域最主流的关系模式 写代码和网络安全结合 杨浦区工商软件开发电话多少
0