我們經(jīng)常聽到在Oracle中,通過角色授予用戶權(quán)限的時候需要用戶重新登陸才能獲得授予的權(quán)限,這句話到底怎么理解呢?通過下面的步驟我
我們經(jīng)常聽到在Oracle中,通過角色授予用戶權(quán)限的時候需要用戶重新登陸才能獲得授予的權(quán)限,這句話到底怎么理解呢?通過下面的步驟我們來理解這句話的含義.
1,DBA做如下的操作:
create user u1 identified by u1
create role r1;
grant create session to r1;
grant r1 to u1;
通過查詢 select * from dba_sys_privs where grantee='R1',發(fā)現(xiàn)權(quán)限已經(jīng)付給了角色.
通過查詢 select * from dba_role_privs where grantee='U1',發(fā)現(xiàn)角色r1已經(jīng)付給了用戶u1.
2,通過u1登錄,能夠正常登錄,查看相應(yīng)的權(quán)限和角色也已經(jīng)有了.
R1
3,u1嘗試建表:沒有建表的權(quán)限.
SQL> create table t(i int);
create table t(i int)
*
ERROR at line 1:
ORA-01031: insufficient privileges
4,DBA建立另外一個角色r2,授予r2建表的權(quán)限,建r2授予u1.
create role r2;
grant create table to r2;
grant r2 to u1;
通過查詢 select * from dba_role_privs where grantee='U1',發(fā)現(xiàn)角色r2已經(jīng)付給了用戶u1.
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com