怎么理解oracle中defaultrole

本篇內(nèi)容主要講解“怎么理解oracle中default role”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學(xué)習(xí)“怎么理解oracle中default role”吧!

10多年專注成都網(wǎng)站制作,成都定制網(wǎng)站,個人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識、方案,網(wǎng)站設(shè)計流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù),專注于成都定制網(wǎng)站,高端網(wǎng)頁制作,對玻璃貼膜等多個行業(yè),擁有豐富的網(wǎng)站推廣經(jīng)驗。

ORACLE創(chuàng)建角色的時候是可以帶密碼驗證的。當(dāng)為一個用戶授予角色時,如果是授予的DEFAULT的時候,那么這個用戶登錄的時候自動就具備了這個角色,不需要進行這個角色的密碼驗證的。如果不是DEFAULT的,那么可以使用SET ROLE ROLE_NAME IDENTIFIED ROLE_PASSWORD來進行密碼驗證后,用戶才能具有相應(yīng)的角色。

oracle權(quán)限體系中有個default role,比較難以理解。下面用實例說明一下作用。

我們可以給某個用戶分配一些角色,比如role r1,r2,r3,r4,而其中可以將某些角色比如r1設(shè)置為default role,其他的不設(shè)置成default role,這樣,當(dāng)該用戶登錄時,自動具有default role中所包含的權(quán)限,其他的角色所具有的權(quán)限要通過set role 角色來獲得。

下面我們舉個例子:

(1)sys用戶作為sysdba登錄,創(chuàng)建4個角色:


create role r1;

create role r2 identified by r2;

create role r3 identified by r3;

create role r4 identified by r4;


(2)sys用戶賦予這四個角色對應(yīng)的權(quán)限:


grant create session to r1;

grant select on hr.test to r2;  (這里hr.test是我新創(chuàng)建的一個表,里面有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用戶創(chuàng)建一個用戶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)現(xiàn)在sys用戶修改用戶u3的default role,僅將r1作為u3的默認角色:

alter user u3 default role r1;  --此時將覆蓋原來的設(shè)置,u3 的default role =r1,僅僅有登錄權(quán)限。

(6)用戶u3 log off ,然后再log on,進去后發(fā)現(xiàn),

查詢、增刪改hr.test都不能進行。

(7) 用戶自己打開role權(quán)限

set role r2 identified by r2;

這時執(zhí)行 select * from hr.test,發(fā)現(xiàn)沒有問題。增刪改不行。

將對應(yīng)的角色打開:

set role r3 identified by r3;

此時修改和插入記錄沒有問題,但是select * from hr.test 確發(fā)現(xiàn)不行了。證明此時用戶所屬的角色僅僅是默認角色r1,和剛剛打開的角色r3,而r2被set role r3 identified by r3;覆蓋掉了。

那要同時有r2,r3,r4的權(quán)限怎么辦呢?

set role r2 identified by r2,r3 identified by r3,r4 identified by r4。此時就同時對hr.test可以進行查詢,增刪改了。

不過set role 的效果是臨時的,只是當(dāng)前session有效,其他的session無效,當(dāng)結(jié)束當(dāng)前session后再登錄,又只有default role 的權(quán)限了。

到此,相信大家對“怎么理解oracle中default role”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

網(wǎng)站名稱:怎么理解oracle中defaultrole
網(wǎng)頁鏈接:http://muchs.cn/article30/iepcso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、網(wǎng)站內(nèi)鏈移動網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、網(wǎng)站設(shè)計公司、品牌網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化