Oracle Proxy Authentication(代理身份认证)(二)

2014-11-24 15:53:14 · 作者: · 浏览: 2
new stuff
PL/SQL 过程已成功完成。
OK. 效果一目了然!
4、但此时我不想用户A 拥有 B 的“CREATE TABLE”权限,又应该如何阻止呢?OK,我们可以将用户B的 “CREATE TABLE” 权限与 “CREATE SESSION” 、
“CREATE PROCEDURE”权限分开,通过重建用户B ,创建2个不同的角色实现, as follows:
[sql]
A@orcl> conn / as sysdba
已连接。
SYS@orcl> create role b_role1;
角色已创建。
SYS@orcl> create role b_role2;
角色已创建。
SYS@orcl> grant
2 create procedure,
3 create session
4 to b_role1;
授权成功。
SYS@orcl> grant
2 create table
3 to b_role2;
授权成功。
[sql]
SYS@orcl> drop user b cascade;
用户已删除。
[sql]
1 create user b
2 identified by b
3 default tablespace users
4* quota unlimited on users
SYS@orcl> /
用户已创建。
[sql]
SYS@orcl> grant b_role1 to b;
授权成功。
SYS@orcl> grant b_role2 to b;
授权成功。
SYS@orcl> alter user b
2 grant connect through a
3 with role b_role1;
用户已更改。
SYS@orcl> conn a[b]/a
已连接。
B@orcl> show user
USER 为 "B"
B@orcl> create or replace
2 procedure p
3 as
4 begin
5 null;
6 end;
7 /
过程已创建。
B@orcl> create table t2 (x int);
create table t2 (x int)
*
第 1 行出现错误:
ORA-01031: 权限不足
--------------------------
Present By Dylan.