您好,欢迎访问三七文档
iVPD学习总结作者:tudengfeng创建日期:2016-7-5更新日期:2016-7-5版本:1.0文件:开发指引创建日期:2016-07-04版本:1.0更新日期:2016-07-04ii/15文档控制修改记录修改日期作者版本更改说明2016-7-5tudengfeng1.0原始文档2016-7-7Tudengfeng2.0补充复核记录日期复核人版本复核说明审批记录审批日期审批人签字审批人角色版本文件:开发指引创建日期:2016-07-04版本:1.0更新日期:2016-07-04iii/15目录文档控制.........................................................................................................................................................................II1.前言........................................................................................................................................................................11.1.背景................................................................................................................................................................11.2.适用范围........................................................................................................................................................11.3.参考文档........................................................................................................................................................11.4.简称、缩略词、术语和定义.........................................................................................................................11.5.图例说明........................................................................................................................................................12.VPD..........................................................................................................................................................................32.1.基础内容........................................................................................................................................................33.1.VPD在维达项目中的具体使用......................................................................................................................33.2.具体实现........................................................................................................................................................43.遗留和已结问题...................................................................................................................................................125.1.遗留问题......................................................................................................................................................125.2.已结问题......................................................................................................................................................12文件:开发指引创建日期:2016-07-04版本:1.0更新日期:2016-07-041/151.前言1.1.背景在维达项目由于会大量使用到VPD策略,经培训后将自己理解的内容记录下来1.2.适用范围1.3.参考文档无1.4.简称、缩略词、术语和定义缩略词术语定义1.5.图例说明图例说明图例说明Start开始开始Judge判断判断XX子流程引用其他子流程**部门**岗位部门或岗位名称动态流程连接线注释的宽度可调,高度随文字的多少变化,不能调节注释框No“否”连接线Interdocument内部单据从系统内打印的单据文件:开发指引创建日期:2016-07-04版本:1.0更新日期:2016-07-042/15图例说明图例说明Yes“是”连接线Extenaldocument外部单据ERP系统外打印的单据BusinessoutsideERPsystem系统外业务ERP系统外流程End结束结束系统内流程GxP受控点文件:开发指引创建日期:2016-7-5版本:1.0更新日期:2016-7-53/152.VPD2.1.基础内容以下内容来源于网络(百度,贴吧,论坛等)VPD(虚拟专用数据库)提供了角色和视图无法提供的行级访问控制。即安全性控制。在EBS二次开发中,涉及到多组织访问权限控制(MOAC),对于同一张表的查询控制,不同的访问权限最终所查询出来的结果是不相同的。VPD便是实现MOAC的常用技术。一个应用场景:某集团公司下边主要分为三个区域(北美,欧洲,亚太),亚太区你是一采购部经理,负责所有七个OperationUnit。这种情况下,系统管理员可以创建一个securityprofile,这个securityprofile设置成可以访问这七个亚太组织,并把这个securityprofile赋予到你的responsibility下,这样你就能在同一个职责下访问这七个OU了,就不用不停地切换职责来访问不同OU了。另外如果你要经常处理中国OU下的事务,那么你可以设置Profile:MO:DefaultOperatingUnit到中国,那么业务默认的OU就是中国了。3.1.VPD在维达项目中的具体使用MD该项目之前存在的form中安全性控制的方法是在form中添加查询时控制条件,即使用动态sql。现为了更加方便管理安全性控制,改用vpd技术控制安全性。VPD控制大致实现过程使用函数----------------------------------------------------------------------------add_policy-addarowlevelsecuritypolicytoatableorview----INPUTPARAMETERS文件:开发指引创建日期:2016-7-5版本:1.0更新日期:2016-7-54/15--object_schema-schemaowningthetable/view,currentuserifNULL--object_name-nameoftableorview--policy_name-nameofpolicytobeadded--function_schema-schemaofthepolicyfunction,currentuserifNULL--policy_function-functiontogeneratepredicatesforthispolicy--statement_types-statementtypethatthepolicyapply,defaultisany--update_check-policycheckedagainstupdatedorinsertedvalue?--enable-policyisenabled?--static_policy-policyisstatic(predicateisalwaysthesame)?--policy_type-policytype-overwritestatic_policyifnon-null--long_predicate-maxpredicatelength4000bytes(default)or32K--sec_relevant_cols-listofsecurityrelevantcolumns--sec_relevant_cols_opt-securityrelevantcolumnoptionPROCEDUREadd_policy(object_schemaINVARCHAR2:=NULL,object_nameINVARCHAR2,policy_nameINVARCHAR2,function_schemaINVARCHAR2:=NULL,policy_functionINVARCHAR2,statement_typesINVARCHAR2:=NULL,update_checkINBOOLEAN:=FALSE,enableINBOOLEAN:=TRUE,static_policyINBOOLEAN:=FALSE,policy_typeINBINARY_INTEGER:=NULL,long_predicateBOOLEAN:=FALSE,sec_relevant_colsINVARCHAR2:=NULL,sec_relevant_cols_optINBINARY_INTEGER:=NULL);将需要被控制的表或视图注册进安全策略表中。在查询数据表或视图时,数据库最先执行的是从策略表(all_policies)中查找是否存在查存表的记录,若存在便调用这条记录中的包以及函数生成where条件,再拼接到原存在的where条件之后并执行查询。All_policies的记录如下:对表FND_FLEX_VALUES查询时,便调用cux_vpd_control_pkg.security_countrol()函数生成需要被拼接的where条件。3.2.具体实现创建VPDO
本文标题:VPD学习总结
链接地址:https://www.777doc.com/doc-2866632 .html