• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

软件测试中Oracle Form二次开发实战总结 第十二章 Function&Form Security

发布: 2010-12-21 09:46 | 作者: 网络转载 | 来源: 领测软件测试网采编 | 查看: 83次 | 进入软件测试论坛讨论

领测软件测试网

软件测试中Oracle Form二次开发实战总结 第十二章 Function&Form Security

oracle是殷墟(Yin Xu)出土的甲骨文(oracle bone inscriptions)的英文翻译的第一个单词,在英语里是“神谕”的意思。Oracle是世界领先的信息管理软件开发商,因其复杂的关系数据库产品而闻名。Oracle数据库产品为财富排行榜上的前1000家公司所采用,许多大型网站也选用了Oracle系统。

关于Form的安全机制,我觉得可以从以下几个方面去分析:

1是否有权限打开这个Form;

2打开Form后,在操作层面上权限有限制(如有的用户仅能查询,有些用户可以更新等);

3对于Form中不同的部件,用户的权限不一(如用户A可以点击审批的按钮,用户B不行)。


对于情况1,EBS采用我们非常熟悉的Basic Function Security,这是一种基于responsibility、menu和function(功能)的管理机制,不再赘述。


情况2时,实现的方法有多种:

(1)    定义FUNCTION时,设置QUERY_ONLY参数;

(2)    用变量记录登录用户的信息,并依此动态的设置Block和Item的属性,需要注意的是:Item的inset_allowed,update_allowed属性只能从界面上控制不能添加或修改,并不能控制代码进行的添加或修改;而Block的inset_allowed,update_allowed属性从真正意义上对代码行为进行限制,用代码操作上述属性为否的Block,系统会提示出错;

(3)    使用Form.个性化设置;

(4)    使用User Profile。


针对情况3,实现的方法有就更多:

(1)    类似情况2中,可根据Form. Parameter的不同值开启或禁用Form的某些功能;

(2)    使用Form.个性化设置;

(3)    使用User Profile;

(4)   集成工作流控制;

(5)    Advanced Function Security将考虑更加详细的安全机制,用户是否有权使用某个form中的某个subfunction,是否有权看见form的某个部件,是否有权打开新的窗体等等。对于这种安全控制策略,我的理解是这样的:首先在系统里定义一个subfunction,然后把它挂到某个responsibility的menu下,然后在form里判断登录的用户具有subfunction的访问权限,激活或禁用该Form的功能。


下面是关于Advanced Function Security的示例代码:

在form的pre-form. trigger中调用FND_FUNCTION.TEST函数验证登录用户的权限:

IF (FND_FUNCTION.TEST('DEMVC_DEMVCEOR_PRINT_ORDER')) THEN

        app_special.instantiate('SPECIAL1','产品组合查询');

        app_special.enable('SPECIAL1',PROPERTY_ON);

        SET_ITEM_PROPERTY('CONTROL.LINE_SEARCH',ENABLED,PROPERTY_TRUE);

END IF;

系统会检测登录用户是否具有对subfunction- DEMVC_DEMVCEOR_PRINT_ORDER的访问权限,验证通过的话则激活一个SPECIAL菜单项和一个按钮项。
 

 

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: Function oracle Oracle ORACLE 软件测试 实战 Form


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网