定义
MOAC是Multi-Org Access Control 的缩写,意思是多组织访问控制,是ORACLE EBS R12的新功能,其目标是 通过安全性配置文件,控制一个用户或职责对单个或者多个OU 的访问与控制;
功能
一个集团下的多个分公司,业务数据存在同一张表里面,但是希望能够在查看和操作的时候各自屏蔽,互相看不到其他分公司的数据,是各自分公司的信息能够安全保密;
不同用户不用职责,要求访问不用分公司(业务实体)下的项目信息,并且彼此的数据能够隔离而不被其他用户看到。
技术设置&实现
- 应用:fnd_mo_product_init_pkg开启MOAC
- 模拟环境:apps_initialize、mo_global.init
- 表或视图:DBMS_RLS.ADD_POLICY注册策略
- Form
修改块,加ORG_ID/OPERATING_UNIT;修改触发器
PRE_FORM、POST_QUERY、WHEN_NEW_BLOCK_INSTANCE
WHEN_CREATE_RECORD - OAF:在rootAMImpl中定义初始化方法
- Report:user_exit写在after_parameter_form
- 并发请求:单/多业务实体模式
同义词
create synonym cux_draw_scheme_headers for cux.cux_draw_scheme_headers_all;----R12.1.x
create synonym cux_draw_scheme_headers for cux.cux_draw_scheme_headers_all#;----R12.2.x
VPD策略
BEGIN
dbms_rls.add_policy(object_schema => 'APPS',
object_name => 'CUX_DRAW_SCHEME_HEADERS',
policy_name => 'ORG_SEC',
function_schema => 'APPS',
policy_function => 'MO_GLOBAL.ORG_SECURITY',
statement_types => 'SELECT,UPDATE');
END;