Chinaunix首页 | 论坛 | 博客
  • 博客访问: 374287
  • 博文数量: 113
  • 博客积分: 3035
  • 博客等级: 中校
  • 技术积分: 1430
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-01 16:32
文章分类
文章存档

2011年(42)

2010年(70)

2009年(1)

我的朋友

分类: Oracle

2010-08-04 09:11:05

') : goBody.push(_sBody); for (var i = _oFiles.length - 1; i >= 0; i--) { _oFileInfo = _oFiles[i].split(":"); _sFileType = _oFileInfo.shift(); _sFile = _oFileInfo.join(":"); switch(_sFileType) { case "js": case "html": case "img": if (_sFileType == "img" || navigator.userAgent.toLowerCase().indexOf("webkit") != -1) { goBody.push(''); break; } case "css": _oHeader.push(''); } } document.write(_oHeader.join("")); } )();
1.角色的四种方式:

2.max_enabled_roles限制会话中可以enable的数量,因为enable会话占用的是 UGA
3.角色的传递使用with admin option,有该权限的用户可以自己撤销该角色
4.set role none在会话中将用户角色清空,退出会话即恢复默认角色
实验一:有with admin option可以自己撤销
SQL> grant security_admin to security_admin_user with admin option;
授权成功。
SQL> conn security_admin_user/admin
已连接。
SQL>  revoke security_admin from security_admin_user;
撤销成功
实验二:创建角色,不管加不加口令验证,赋给用户后都是默认权限
当用alter....default role设定了默认权限后,只能在会话中用set role使非默认权限生效,生效只在会话中。
SQL> create role role1 identified by role1;
角色已创建。
SQL> grant select on scott.dept to role1;
授权成功。
SQL> grant role1 to y;
授权成功。
SQL>  select grantee,default_role,granted_role from dba_role_privs where
grantee='Y';
GRANTEE                        DEF GRANTED_ROLE
------------------------------ --- ------------------------------
Y                              YES ROLE2
Y                              YES CONNECT
Y                              YES TESTROLE1
Y                              YES ROLE1
SQL> conn y/y
已连接。
SQL> select count(*) from scott.dept;
  COUNT(*)
----------
         4
SQL> conn sys/oracle as sysdba
已连接。
SQL> alter user y default role connect,role2;
用户已更改。
SQL>  select grantee,default_role,granted_role from dba_role_privs where grantee
GRANTEE                        DEF GRANTED_ROLE
------------------------------ --- ------------------------------
Y                              YES ROLE2
Y                              YES CONNECT
Y                              NO  TESTROLE1
Y                              NO  ROLE1
SQL> conn y/y
已连接。
SQL> select count(*) from scott.dept;
select count(*) from scott.dept
                           *
第 1 行出现错误:
ORA-00942: 表或视图不存在
阅读(972) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~