除了系统预定义的角色,Oracle数据库还允许用户创建自定义角色,实现权限的管理。
1.创建角色
创建角色需要使用CREATE ROLE语句,并要求用户具有CREATE ROLE权限。CREATE ROLE语句的语法如下:
语法说明如下:
•role_name:创建的角色名。
•NOT IDENTIFIED|IDENTIFIED BY password:可以为角色设置口令。默认为NOT IDENTIFIED,即无口令。
【例4.20】 创建图书借阅信息网站系统开发角色,并设置该角色的口令。
(1)切换管理员登录。
(2)创建图书借阅信息网站系统开发角色BOOKROLE,并设置密码为BOOKROLE。
2.为角色授权
新创建的角色没有任何权限,通过GRANT语句可以给角色赋值,语法同给用户授权。
【例4.21】 给角色BOOKROLE赋予CREATE SESSION权限。
除了给角色直接赋予权限外,还可以通过角色为角色授权,即将一个角色的权限全部授予另一个角色。这对于多种权限的集中管理非常方便。
【例4.22】 给角色BOOKROLE赋予RESOURCE角色所有的全部权限。
3.查看角色权限
Oracle数据库中,数据字典DBA_ROLE_PRIVS、USER_ROLE_PRIVS、ROLE_ROLE_PRIVS、ROLE_SYS_PRIVS等保存了角色及其权限信息。
【例4.23】 查看图书借阅网站系统开发角色BOOKROLE所拥有的全部权限。
【例4.24】 查看图书借阅网站系统开发角色BOOKROLE所拥有的角色信息。
4.用户角色管理
(1)为用户授予角色。
为用户授予角色,则该用户就拥有了授权角色的全部权限。
【例4.25】 为图书借阅网站系统开发用户BOOKUSER赋予对应的开发角色BOOKROLE。
(2)查看用户拥有的角色。
Oracle系统中,可以通过DBA_ROLE_PRIVS、USER_ROLE_PRIVS等数据字典查看用户所拥有的角色。(www.xing528.com)
【例4.26】 查看图书借阅网站系统开发用户BOOKUSER的角色。
(3)修改用户默认角色。
为用户授予某个角色后,则该角色就属于这个用户的默认角色。用户连接到数据库时,Oracle会自动启用该用户的所有默认角色。可以设置用户的默认角色状态,也可以激活或屏蔽用户的默认角色。语法如下:
语法说明如下:
[ROLE_NAME]:指定默认的角色名。
[ALL[EXCEPT ROLE_NAME]]:指定默认角色为除了指定名称的角色外的所有角色。
[NONE]:屏蔽所有角色。
①屏蔽用户的所有角色。
【例4.27】 屏蔽图书借阅网站系统开发用户BOOKUSER的角色。
②激活用户的某些角色。
【例4.28】 激活图书借阅网站系统开发用户BOOKUSER的角色BOOKROLE。
③激活用户的所有角色。
【例4.29】 激活图书借阅网站系统开发用户BOOKUSER的所有角色。
(4)回收用户角色。
如果不想用户再拥有某角色的权限,则可以回收角色。
【例4.30】 回收图书借阅网站系统开发用户BOOKUSER的开发角色BOOKROLE。
5.修改角色
可以使用ALTER ROLE语句修改角色口令。
【例4.31】 修改图书借阅网站系统开发角色BOOKROLE的口令。
6.删除角色
不再需要某个角色时,可以删除角色。角色被删除后,用户所拥有的该角色的所有权限将被回收。
【例4.32】 删除图书借阅网站系统开发角色BOOKROLE。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。