首页 > 代码库 > BIEE 11g外部表做权限认证
BIEE 11g外部表做权限认证
1.数据库中创建用户表BIEE_AUTH:
create table BIEE_AUTH ( USERID VARCHAR2(20), USERNAME VARCHAR2(20), USERPWD VARCHAR2(20), USERROLE VARCHAR2(100) );
这里注意,用户有多个角色时,用“;”分开;USERROLE这个字段,如果用户角色较多,字段大小需按实际设定;如果想把数据权限都放在一个表里弄的话,估计表要重新设计,这个只是简单测试用。存的数据如下:
2.RPD创建数据库及连接池及会话初始化块:
新建DB和CP用来访问我们刚才新建的表,创建两个是为了不修改最佳实践的指导(第一个连接池不能用于初始化块),如下图:
建初始化块,需要做的是命名(我这里叫auth),初始化字符串,选连接池,新建变量。
点击“编辑数据源”去填写初始化字符串并选择连接池:
select t.userid,t.userpwd,t.userrole from biee_auth t where upper(t.userid)=upper(‘:USER‘) and t.userpwd=‘:PASSWORD‘;
连接池选中可以访问我们建的BIEE_AUTH表的,也就是DB Initial CP,选择好后效果如下:
点击“编辑数据目标”新增变量,这里需要新增三个变量,分别对应我们select后面的三个值,且顺序也要想对应,即:USER、PASSWORD、ROLES,其中USER、ROLES为系统变量,均不用设置默认值。如下:
完成上面步骤后,如下图,点击ok即可;
BIEE 11g外部表做权限认证