浅谈用友NC产品单点登录机制

一,NCV5
   1):单点业务系统
            第三方系统单点到NC业务系统原理为注册认证key值,然后用key登陆系统
            注册认证:
                  String urlString = ServerConfiguration.getServerConfiguration().getMasterEndpointURL().replaceAll                    ("/ServiceDispatcherServlet", "");
                   String keyid = "用于认证的自定义标准";
                   urlString = urlString + "/service/RegisterServlet?key=" + keyid+ "&usercode=" + usercode+ "&pwd=" + userpassword + "&accountcode=" + accountCode+ "&pkcorp=" + pk_corp;
                   URL url = new URL(urlString);
                    connection = (HttpURLConnection) url.openConnection();
                    connection.connect();
       用keyid 登陆系统
                    var frameID = document.createElement("iframe");
                    frame.src = “http://ip:port/login.jsp?key="+keyid ;
   2):单点到业务系统并打开节点
            要单开节点需要先单点登陆系统,然后再NCApplet反射机制打开节点
            var applet = ncFrame.contentWindow.document.applets["NCApplet"];
            applet .callNC("nc.ui.sm.webcall.OpenNCNode","openNode","节点号"); 
            nc.ui.sm.webcall.OpenNCNode为反射类,具体参考java API说明。
   3):单点到HR自助系统
            机制很简单,直接用response的sendRedirect方法就ok
            response.sendRedirect("/hrss/access.login.d?HRSS_LOGIN_USER_ENCODED="+ usercode + "&HRSS_LOGIN_PSWD="+ loginPswd + "&HRSS_DATA_SOURCE=" + ds);
   4):单点HR自助系统并打开节点
            这里不做详细介绍,web节点都是拼接URL地址,但要说明的是产品提供了直接打开节点的功能,有兴趣的朋友可以研究一下
            nc.bs.hrss.url.URLDirectController这个controller类。

二,NCV6
       1):单点业务系统
              NCV6不做详细介绍,平台强大得什么都给我们做了,具体参考SSORegisterServlet,看不懂的转行吧,哈哈! 
       2):单点到业务系统并打开节点
              portal uap 已经无缝集成了NC业务系统节点,可以用业务中心管理员登陆portal门户,再跟下代码就明白
       3):单点到portal平台
             可以使用LoginHelper portal验证登陆方式登陆(区别于portal登陆界面输入用户密码验证码,这里不用)
             可以使用uap portal提供的强大的登陆链完成,不过这个过程需要往数据库insert一条语句,具体参考基类AbstractVerifyChain 
       4):单点到portal平台 并打开节点
             这里不做详细介绍,web节点都是拼接URL地址,然后response.sendRedirect(url);   系统封装的方法也有。

你可能感兴趣的:(浅谈用友NC产品单点登录机制)