NCV63单点登录集成方案

上传人:公**** 文档编号:493112064 上传时间:2022-10-15 格式:DOCX 页数:8 大小:99.91KB
返回 下载 相关 举报
NCV63单点登录集成方案_第1页
第1页 / 共8页
NCV63单点登录集成方案_第2页
第2页 / 共8页
NCV63单点登录集成方案_第3页
第3页 / 共8页
NCV63单点登录集成方案_第4页
第4页 / 共8页
NCV63单点登录集成方案_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《NCV63单点登录集成方案》由会员分享,可在线阅读,更多相关《NCV63单点登录集成方案(8页珍藏版)》请在金锄头文库上搜索。

1、第三方服务器NC63 单点登录方案说明文档1.简述NC60 的单点登录方案和 NC5x 的单点登录方案比较相近,但是其注册和登录的 url 格式 有所变化,并且增加了一些功能,例如可以定义在注册用户信息的身份认证,可以由 NC 系统 生成 ssoKey 等等注册用户信息的URL基本格式为:http:/host:port/ service/ssoRegServlet? ssoKey =key&userCode=usercode单点登录NC系统的URL基本格式为: http:/host:port/login.jsp? ssoKey =key 单点登录配置文件路径为:$NCHOMEierpsfsso

2、Config.xml1.1. 单点登录方案详述想要单点登录到NC,首先需要在服务器端向NC服务器注册将要登录的用户的信息以 及其他一些需要的信息,这些信息将被保存在NC服务器上,通过ssoKey进行关联映射。在完成注册信息后,客户端在登录时需要提供ssoKey,通过该值获得登录用户的相关信 息,进入NC系统。如下图所示:第二步:向NC服务器注册用户登录信息http:/host:port/ service/ssoRegServIet? ssoKey=ke y&userCode二usercodeNC系统服务器第、一步.提交2. 注册用户登录信息NC 系统提供了一个 Servlet 来注册用户登录信

3、息。访问该 servlet 的 URL 格式基本为: http:/host:port/service/ssoRegServlet,其后面可以跟随多个参数,如下所示:1. userCode: 指定用户编码,该参数必须提供,不能省略。2. ssoKey: 指定映射登录信息的键值,并在登录时需要提供该值。该值要求唯一, 如果在注册时没有提供该值, NC 系统会自动生成一个 ssoKey 的值,并在返回的 Servlet 流中输出该值3. busiCenter :指定用户所属的账套编码,该值可以忽略。如果忽略该值,并且在多 个账套中都存在userCode用户,那么会让终端用户选择账套。4. group

4、Code:指定登录的集团编码,该值可以忽略。5. langCode:指定登录的语种,该值可以忽略,默认为中文示例:http:/host:port/ service/ssoRegServlet? ssoKey =123459483230949&userCode=zhangsan 这个URL表示将以用户zhangsan的身份登录,注册信息的键值为123459483230949。21登录NC系统在完成了用户登录信息的注册后,客户端就可以以注册的ssoKey值来登录NC系统了, 登录NC系统的ssoKey值以URL参数的形式提供,如下所示:http:/host:port/login.jsp? ssoK

5、ey =keyvalue。对于前面的示例http:/host:port/ service/ssoRegServlet? ssoKey =123459483230949&userCode=zhangsan 登录时的URL为http:/host:port/login.jsp? ssoKey =12345948323094922根据功能节点打开NC界面例如打开nc系统的人员页面:ssoKey例如还是上面的令牌,nodeid=10140PSN是人员 的功能注册编码http:/127.0.0.1/login.jsp?ssoKey=123459483230949&clienttype=porta l&ui

6、loader=nc.uap .lf w.ap plet.PortalUILoader&n odeid=10140PSN23自定义uiLoader打开NC任意界面在上一章节中是根据功能节点打开列表界面,那么如何打开单据卡片界面呢,或者如何 打开流程卡片界面等等。所以需要自己开发一个 uiLoader 类进行处理,如下图所示,如何 集成打开一个人员卡片界面。开发步骤如下:第1步:定义一个CustomPortalUILoader类,它继承了 SSOLoader类,源码如下:package nc.demo.bx.uiloader;import java.awt.Component;import jav

7、a.awt.Dimension;import mon.NCLocator;import nc.desktop.ui.WorkbenchEnvironment;import nc.funcnode.ui.FuncletInitData;import nc.funcnode.ui.FuncletWindowLauncher;import nc.itf.uap.bbd.func.IFuncRegisterQueryService;import nc.login.sso.ui.SSOLoader;import nc.sfbase.client.ClientToolKit;import nc.ui.bd

8、.pub.BDFuncletInitData;import nc.ui.pub.msg.PfLinkData;import nc.ui.uap.sf.SFClientUtil;import nc.vo.bd.psn.PsndocVO;import nc.vo.pub.BusinessException;import nc.vo.sm.funcreg.FuncRegisterVO;public class CustomPortalUILoader extends SSOLoader Overridepublic void appletInited() /父窗体Component parent =

9、WorkbenchEnvironment.getInstance().getWorkbench();String param = ClientToolKit.getAppletParam(nodeId);St ring sys temcode=local ; /默认系统编码/功能注册节点String funCode=param;/人员pkString pk_psndoc = ClientToolKit.getAppletParam(pk_psndoc); if(param.contains(:)funCode=param.split(:)0;systemcode=param.split(:)1

10、;IFuncRegisterQueryService service =NCLocator.getInstance().lookup(IFuncRegisterQueryService.class);FuncRegisterVO FrvOnull;try FrvO = service.queryFunctionByCode(funCode); /功能节点编号 catch (BusinessException e) /打开界面的三种方式如下:/*第一种:打开流程单据卡片界面*/PfLinkData pflink = new PfLinkData();/pflink.se tBillID(100l

11、ZZl000000000000Q); /本 单据 ID/pflink.se tBillType(SALE); /本单据类型/pflink.se tSourceBillType(SALE); /上游单据类型/pflink.se tPkOrg(OOOlZZlOOOOOOOOOO74A); /公司/int height = ClientToolKit.getUserHeight()-40;/int width = ClientToolKit.getUserWidth()-40;/FuncletWindowLauncher.openFuncNodeForceModalDialog(null,frvO,

12、new FuncletInitData(1, pflink),null, true, newDimension(width,height),null);/*第二种:打开档案卡片界面 *PsndocVO psndocvo =new PsndocVO();psndocvo.setPrimaryKey(pk_psndoc);BDFuncletInitData bdlinkdata = new BDFuncletInitData(null, 3, psndocvo);int height = ClientToolKit.getUserHeight()-40;int width = ClientTool

13、Kit.getUserWidth()-40;/模态窗体弹出对话打开/FuncletWindowLauncher.openFuncNodeForceModalDialog(null,FrvO,new FuncletInitData(3, bdlinkdata),null, true, new Dimension(width,height),null);/非模态窗体弹出对话框框架打开/FuncletWindowLauncher.openFuncNodeFrame(parent, FrvO, new FuncletInitData(3, bdlinkdata), null,false);/非模态窗体

14、在原来窗体页签打开FuncletWindowLauncher.openFuncNodelnTabbedPane(parent, FrvO, new FuncletInitData(3, bdlinkdata), null,false);/*第三种:根据功能注册节点打开列表界面 */SFClientutil.open(parent, funCode);String script = newStringif(opener)opener.ncNodeAppletMap.put(+systemcode+,findN CApplet();ClientToolKit.callJavaScript(eval, script);第2步:部署到nchome中对用模块的client中,我的测试模块是Ifwdemo,如下图:第 3 步:访问测试,访问两个步骤1. 首先令牌注册,在IE浏览器中,输入下面url。注意:帐套编码busiCente最好是填写上, 否则在登录的时候要求选择帐套http:/127.0.0.1/servic

展开阅读全文
相关资源
相关搜索

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

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