NCV5-二次开发框架技术红皮书

上传人:工**** 文档编号:486774898 上传时间:2023-03-28 格式:DOCX 页数:35 大小:242.84KB
返回 下载 相关 举报
NCV5-二次开发框架技术红皮书_第1页
第1页 / 共35页
NCV5-二次开发框架技术红皮书_第2页
第2页 / 共35页
NCV5-二次开发框架技术红皮书_第3页
第3页 / 共35页
NCV5-二次开发框架技术红皮书_第4页
第4页 / 共35页
NCV5-二次开发框架技术红皮书_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《NCV5-二次开发框架技术红皮书》由会员分享,可在线阅读,更多相关《NCV5-二次开发框架技术红皮书(35页珍藏版)》请在金锄头文库上搜索。

1、NC 二次开发框架技术红皮书NC 5.0用友NC-总体设计部,平台技术部2013-03-29第一章前言 1第二章身份认证 21.概述22. 实现说明22.1 后台认证接口22.2 前台预处理接口32.3 前台认证结果信息接口32.4 配置工作33系统登录身份认证相关包及类4第三章单点登录方案(V50) 61概述62 过程说明63 URL 格式74配置文件7第四章功能按钮及UI事件扩展方案(V5.011) 81.概述82. 菜单扩展按钮的相关类83. 扩展类 FuncMenuExtends 94. 配置文件 funcMenuExtConfig.xml 125. 开发过程简介135.1 编写 Fu

2、ncMenuExtends 子类135.2 在 funcMenuExtConfig.xml 文件中进彳丁配置155.3 运行程序156. 附录:供应链产品按钮扩展17方案介绍17支持二次开发按钮扩展功能单据清单(已覆盖全部核心单据.)18优劣势分析19第五章UI界面API的发布规范(V5.02后,仅参考)201.概述202.发布 UI-API 接口的步骤212.1定义接口212.2实现接口212.3 填充配置文件222.4 提供接口说明文档23第六章业务组件服务扩展开发(V5.0) .241.概述242.财务产品单据组件关键方法扩展接口方案242.1收付产品方案242.2财务开发部改进24第七

3、章UAP开发资源(V5.0) 261. UI端环境变量262. 发送邮件273. 发送待办消息28第一章 前言NC作为一个平台化的ERP产品,在提供完整的系统管理和应用功能同时,为满足本地 化、行业化甚至是企业化的个性应用,设计了一个开放的实现框架,来满足二次开发过程中 对标准应用的扩展、替换。目前,这个框架包含了系统管理安全方案、UI端按钮扩展及事 件方法扩展方案、业务组件服务扩展方案三部分,包含的主要内容是一系列的插件接口和 API。这个框架与二次开发产品安装部署方案(详见N CV5-安装盘配置与升级技术红皮书 有关内容)结合,共同组成了 NC二次开发解决方案。这个方案定位于实现3个目标:

4、降低 二次开发难度,减少并最终杜绝对标准产品源代码的修改;二次开发产品与标准产品开发和 成果部署上的分层隔离;标准产品升级兼容二次开发成果。NC二次开发解决方案势必在以后版本中持续地完善,目前各详细方案分章节说明如下。 需要说明的是,在该框架推出之前,NC也曾基于项目要求提供了一些中间方案,基本情况 收录相关章节附录中。这些方案为兼容项目成果还保留,但在新项目二次开发中已经不准使 用,并在今后的版本中逐渐取消支持。注:本文针对二次开发描述也同样适用于行业开发过程中,在标准产品基础上进行的行业定 制。第二章 身份认证1. 概述NC系统面向高端企业集团ERP应用的产品定位决定了其系统安全的重要性,

5、系统安全 性包括登录身份的认证和各种数据的安全。NC系统对数据安全性的处理不在本文描述,本 文主要阐述系统登录的身份认证的安全性及认证方式的实现。NC系统默认的身份认证方式是基于静态密码的认证方式。目前,在身份认证领域,也 有许多厂家能提供更为安全可靠的认证方式,如CA认证,动态密码认证。为了提高NC系 统本身在登录认证方面的安全性,NC系统提供了一套用于集成第三方认证方式的接口,能 够方便地将更为安全的身份认证方式集成到NC系统中,进而加强NC系统在登录时身份认 证的安全性。2. 实现说明NC系统的身份认证集成接口主要包含: 后台的认证接口: nc.bs.sm.identityverify.

6、IAMode 前台的预处理接口: nc.bs.sm.identityverify.IloginPretreatment 前台的认证结果消息接口: nc.bs.sm.identityverify.IloginResultMessage 一般实现某种身份认证方式即实现上述接口。2.1 后台认证接口后台的认证接口是实现一个身份认证方式必须要实现的一个接口,不过在实际的代码中,一 般 都 是 继 承 nc.bs.sm.identityverify.AbstractIAMode 抽 象 类 , 它 实 现 了 nc.bs.sm.identityverify.IAMode接口。程序员需要实现verify方

7、法,在该方法中进行用户的身 份认证。int verify(nc.vo.sm.login.LoginSessBean lsb, nc.vo.sm.UserVO userVO);参数:LoginSessBean lsb 主要存储登录用户的一些信息,如用户编码,用户密码,或其他一 些信息(可以有 LoginSessBean.put ()方法和 LoginSessBean.get()方法存取)。UserVO userVO利用lsb中的公司信息和用户编码信息在数据库中查找到的nc用户对 象,包含了 nc 用户的信息。返 回 值 int 表 示 身 份 认 证 的 结 果 , 如 果 身 份 认 证 成

8、功 , 请 返 回 nc.vo.sm.login.ILoginResult.LOGIN_LEGALIDENTITY。如果不合法,返回其他自定义的 int 值,但是自定义的返回值必须大于200 (小于 200的返回值分配给系统自己使用) nc.bs.sm.identityverify.AbstractlAMode类有一个方法是 Object getParameter(String key), 它的 是返回定义在配置文件中的参数,关于配置文件,后面将有描述。2.2 前台预处理接口前台的预处理接口是在前台运行的,它提供了在调用后台认证功能之前进行一些预处理操作 的机会。例如一般在实现某种 CA 认证

9、方式时,需要从 usbkey 中读取用户信息,以及对挑 战码进行签名的操作等等,并将这些挑战码传输到后台,供身份认证使用,此时即可实现该 接口。该接口定义了一个方法:void pretreatment(LoginSessBean lsb) throws Exception,在该方法中进行上述的操作,一些需 要传输到后台的信息利用lsb传递,例如用户编码,需要利用Isb.setUserCode方式设置。对 于其他用于外系统进行认证的数据,如挑战码,应该使用lsb.put方法设置到lsb中,供后台 调用void pretreatment(nc.vo.sm.login.LoginSessBean l

10、sb) throws Exception参数:LoginSessBean lsb这里的lsb主要用来存储一些后台认证需要的数据,可以使用lsb 的 相 关 方 法 进 行 设 置 , 这 个 lsb 对 象 将 传 递 给 后 台 的 认 证 方 法 verify(nc.vo.sm.login.LoginSessBean lsb, nc.vo.sm.UserVO userVO);中 的参数 lsb。异常:出现一些需要终止操作的异常,可以抛出如果认证方式中不需要前台的预处理过程,可以不实现该接口。2.3 前台认证结果信息接口前台的认证结果消息接口 nc.bs.sm.identityverify.

11、IloginResultMessage的作用主要在于,在我 们的认证方法中返回的是int型数据,不能直接反馈给用户,故利用此接口进行认证结果的 映射,将int型的认证结果翻译为用户能够理解的文字信息,这些文字信息将提示用户认证 失败的原因。该接口方法定义如下:String getResultMessage(int intResult);参数: int intResult 该值由后台认证接口方法返回,返回值String返回给用户的对应intResult的提示文字2.4 配置工作对于代码开发来说,实现上面的接口后,就完成了开发工作。紧接着就是需要进行一些配置 工作,即可在NC系统中使用新的身份认证

12、方式。对于 nc3x 的版本配置文件为./ierp/bin/IAConfig.xml,它的一般格式为:(例子)vConfigsnc.bs.uap.ca.CAModev/IdentityVerifyClassNameCA 认证 nccav/IdentityVerifyCodeParametersuserIDModev/KeyvValueusercodev/Value/ParametersvUsedtruev/Usednc.ui.uap.ca.CALoginPretreatmentv/LoginPretreatmentClassName nc.ui.uap.ca.CALoginResultv/Lo

13、ginResultClassName对于 nc5x 的版本配置文件为./ierp/bin/IAConfig.xm 1,它的一般格式为:(例子)nc.bs.uap.ca.CAModev/IdentityVerifyC1assName CA 认证 nccav/IdentityVerifyCodeuserIDModev/Keyusercodev/Va1ue/Parameterstruenc.ui.uap.ca.CALoginPretreatmentv/LoginPretreatmentC1assName nc.ui.uap.ca.CALoginResu1tv/LoginResu1tC1assName

14、对于 Parameters,如果程序中不需要额外的参数配置,可以不需要配置对于LoginPretreatmentC1assName,如果认证方式中不需要前台的预处理过程,也可以不 配置该项对于LoginResu1tC1assName,如果没有额外的信息返回,也可以不配置该项3 系统登录身份认证相关包及类nc.bs.sm.identityverify|AbstractIAMode #身份认证方式抽象类,一般实现某种认证方式都要实现该类|IAConfigFi1eToo1 #读写身份认证配置文件的工具类|IAConfSetupD1g #和 IASetupFrame 类一起配置身份认证配置文件IIAMode#身份认证方式接口类,由AbstractlAMode实现|IAModeFactory #在系统运行时根据身份认证配置文件构造一个认证方式对象|IASetupFrame#配置身份认证配置文件的工具

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号