




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章 单点登录方案(V5)1. 概述登录方案示意图如下:NC应用服务器超时处理注册中心2向nc服务器注册登录信息外部身份认证系统3,利用注册信息,客户端进入NC系统1登录请求客户端2. 过程说明1. 当客户端用户希望进入NC系统时,首先向外部的认证系统提交请求。2. 由外部认证系统向nc服务器注册客户端的登录信息,这些信息是nc系统所必需的信息。可以通过 一个随机的键值key来索引登录信息。3. 客户端将通过该键值来进入nc系统。即客户端将向nc应用服务器提交其键值。nc服务器将利用该键值从注册中心中获取登录信息(同时注销注册信息)。然后利用这些登录信息登录到NC系统。4. 超时处理:注册的登录信息有其生命期,超过生命期的注册信息将会被清除。客户端只能在超时以前登录nc才有效,否则不能进入nc系统。超时的值在配置文件中进行配置3. URL格式1 注册用的URL外部系统服务器利用此url向nc服务器注册登录信息。该URL的基本格式为:http:/localhost/service/RegisterServlet?key=111111&usercode=1注:usercode和key是必须的。key值为注册登录信息的键值,必须保证唯一。在这个url后面还可以提供一些附加参数accountcode用于指定登录的账套pkcorp用于指定登录的公司workdate用于提供登录日期,默认为NC服务器当前日期language用于提供登录的语种,默认为简体中文。height客户端分辨率的高度值width 客户端分辨率的宽度值2 登录用的URL外部系统服务器注册完毕后,返回客户端该url,使客户端重定向到该url,实现登录NChttp:/localhost/login.jsp?key=111111注:其中key的取值和注册时的值一致4. 配置文件文件ierpbinexterior.xml用于配置在单点登录中能够注册登录信息的主机ip和注册信息的超时值。这些配置都是出于对安全的考虑,因为只有在该文件中配置的主机才能向nc服务器注册登录信息。exterior.xml的内容为: 用于指定可以注册的外部主机ip10.5.2.* 可以使用*指定某个网段20 用于指定注册信息的生命期,单位为妙第二章 portal与NC集成1、方案简介:修改部分NC系统管理代码让NC整个成为一个独立的组件可以提供给Portal系统集成。并根据业务需要提供相应的接口,由Portal系统进行调用,打开对应节点继续ERP系统中的操作。系统基本结构如下图所示: Portal用友ERP系统JavaScriptNC JavaScript 对象2、实现方式:将NC包装成JavaScript对象 NCApplet保存于NCApplet.js文件中,对外提供登录、打开业务节点等操作方法。目前提供的基本方法为:1对象初始化。在对象初始化时,需要提供NC服务器的IP地址、端口信息。为了进行NCApplet初始化,需要在Portal系统中嵌入以下代码:在标签中引入NCApplet.js在标签中实例化NCApplet对象 myNC = new NCApplet(ncIP,ncPort);其中:myNC为对象实例,用户可以根据自己的需要命名。ncIP 为NC应用服务器地址。ncPort 为NC服务器的访问端口。2登录。在需要使用NCApplet的地方进行登录操作,登录函数为:result = myNC.login(accountName,corpCode,userCode,userPassword,bussiDate)其中:myNC:前面实例化的NCApplet对象accountCode:帐套名称corpCode:公司编码userCode:用户编码userPassword:用户密码bussiDate:业务日期result:NCApplet返回值,如果成功返回true,否则返回false以简体中文作为默认语言登录用户名和用户密码为必输项,用户密码传递采用密文方式。刘俊松介绍目前ERP系统和Portal系统已经实现用户编码、口令统一,NC控件可以直接对该密文口令进行验证。 目前系统中只有一个账套,如果Portal系统不传递账套信息,则默认为该账套。如果登录日期不传递,则默认为当前的操作系统日期。如果登录单位不指定,则默认登录用户所属单位。3打开业务节点。登录成功之后,可以进行节点打开操作result = myNC.openNode(nodeCode)其中:myNC:前面实例化的NCApplet对象nodeCode:节点编号。result:NCApplet返回值,如果成功返回true,否则返回false注:必须登录成功之后才允许进行打开节点操作。NC控件验证当前用户是否具有打开该节点的权限。4设置NC是否可见myNC.setVisible(visible)其中:myNC:前面实例化的NCApplet对象visible:确认是否显示NC的参数,取值范围true、false.5设置是否显示待办事务myNC.setBussinessVisible(visible)其中:myNC:前面实例化的NCApplet对象visible:是否显示待办事务,取值范围true、false.用户选中待处理事务打开后,弹出相应的处理界面。6读取待办事务信息business = myNC.readBussiness()其中:myNC:前面实例化的NCApplet对象business:返回结果,以数组形式返回。7执行待办事务result = myNC.executeBussiness(bussiness)其中:myNC:前面实例化的NCApplet对象business:要执行的待办事务数据 3、调用的例子1. Portal部分调用打开节点: 100401100402100404 myNC = new NCApplet(,80);说明:蓝色部分为对NCApplet的调用部分2NCApplet.js内容框架function NCApplet(ncIP,ncPort)NCApplet.port = ncPort;NCApplet.IP = ncIP;_display();this.login = function(accountCode,unitCode,userCode,loginDate)/在公有成员中调用私有方法_login(accountCode,unitCode,userCode,loginDate);this.openNode = function(funccode)/在公有成员中调用私有方法_openNode(funccode); this.logout = function()/在公有成员中调用私有方法logout();/完成NCApplet的加载、显示。说明:以下代码用于方案说明,正式提交系统运行代码为Servlet,由Servlet根据用户请求生成NCApplet脚本。function _display()document.write(开始加载NCApplet.);document.write(NC服务器IP:+NCApplet.IP+);document.write(NC服务器端口:+NCApplet.port+);document.write();document.write();document.write();document.write();document.write();document.write();document.write();document.write();document.write();document.write();document.write();document.write( );document.write();document.write();document.write();document.write();document.write();document.write();document.write();document.write();document.write();document.write();document.write();document.write();document.write( );。;document.write();document.write(加载结束!);/登录NC ERPfunction _login(accountCode,unitCode,userCode,loginDate)alert( login.);result = document.appletsNCApplet.login(accountCode,unitCode,userCode,loginDate);alert(end login result +result);/登出NC ERPfunction _logout()alert(login.);result = document.appletsNCApplet.logout();alert(end login result+result);/打开NC节点function _openNode(funcCode)alert(opening.);result = document.appletsNCApplet.openNode(funcCode);alert(open result+result);4、NC部分相关的调整方案NC部分的调整是本次调整的主要难点,NCApplet控件需要接管NC系统登录、NC节点打开、NC待办事务、NC日志等操作的控制。这些内容是NC系统管理的核心部分,也是最为复杂的部分之一,调整部分必须遵循原始代码的内在协议,不破坏已有代码的准确性。为了维持已有功能的稳定性、可靠性。原则上不对现有的NC代码进行任何改动,新增功能通过重新增加相应的业务类实现。新的业务类可以继承原有的代码。对于新增代码的逻辑关系、业务流程重新组织。基于以上的原则,这次整合的一个基本方式是:新增加类SimpleApplet继承AppletContainer主控Applet,接管界面显示,跳过登录界面的加载。将主界面空置,以便按照客户要求显示相关的内容。跳过对NC主控制桌面的加载、显示。由于负责NC节点控制的类 MainFrame对主控桌面类Desktop具有较强刚性依赖关系,因此,重新按照MainFrame的思想开发一个NCMainFrame类,用来控制从NCApplet控件中的打开节点、执行待办事务等操作。由于NC的部分初始化工作是在Desktop中完成,在NCApplet中直接重写相应的初始化。在NCApplet中增加对外的公开业务接口,以满足JavaScrip调用需要。该部分内容目前直接在NCApplet中实现,今后需要改为专门的二次开发接口实现方案,以便新的业务方法扩展。开发一个用于NCApplet.js调用的HTTPServlet以便根据NC服务器的具体信息形成NCApplet的正确参数配置。如果可能,尽量将整个NCApplet.js由新开发的HTTPServlet形成。如果这样,Portal部分在引用NCA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030中国电窑行业产业运行态势及投资规划深度研究报告
- 2025至2030中国电池螺帽扳手行业产业运行态势及投资规划深度研究报告
- 2025至2030中国电动摩托车产业行业市场占有率及投资前景评估规划报告
- 2025至2030中国猪饲料预混料行业产业运行态势及投资规划深度研究报告
- 2025至2030中国物流金融行业市场发展现状分析及发展趋势与投资前景报告
- 分拣机器人实验平台的数据安全与隐私保护研究
- 探索教育游戏化的多维度营销策略
- 教育心理学的力量激发孩子学习兴趣的方法论
- 教育信息化战略新科技成果的推动与实施
- 从课程到教学-数字化办公中的技术和伦理探讨
- 2025年人教辽宁版八年级语文下册 第二学期 期末测试卷
- DB12T 1379-2024生猪规模养殖场消毒技术规范
- 统编版语文一年级上册新教材解读及教学建议 课件
- 医学教材 ACAF技术手术器械的准备与围手术期处理
- 《核辐射防护原理》课件
- 托养中心培训
- 2025年山西晋能控股装备制造集团招聘笔试参考题库含答案解析
- 医院6S管理培训课件
- 融资担保行业2024年信用回顾与2025年展望 -新世纪
- 入侵防范练习试卷附答案
- 2025年体育单招考试政治模拟试卷及答案详解(精校打印)
评论
0/150
提交评论