NC单点登录设置默认界面

NC单点登录设置默认界面

单点登录默认打开消息中心

package nc.sso.demo;

import nc.bs.framework.common.NCLocator;
import nc.bs.logging.Logger;
import nc.desktop.ui.Workbench;
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.pub.msg.PfLinkData;
import nc.vo.pub.BusinessException;
import nc.vo.sm.funcreg.FuncRegisterVO;

public class DemoSSOUILoader extends SSOLoader {

	@Override
	public void appletInited() {
		// TODO Auto-generated method stub
		// 父窗体
	    Workbench parent = WorkbenchEnvironment.getInstance().getWorkbench();
		String param = ClientToolKit.getAppletParam("nodeid");
		//nodeid=messagecenter 单点登录打开至消息中心
		if("messagecenter".equals(param)) {
		    
		    /*  FuncRegisterVO frvo = new FuncRegisterVO();
            frvo.setFuncode("消息中心");
            frvo.setOwn_module("10");
            frvo.setIsbuttonpower(UFBoolean.FALSE);
            frvo.setClass_name("nc.message.reconstruction.NCMessageMainUI");
            FuncletWindowLauncher.openFuncNodeInTabbedPane(parent, frvo,
                new FuncletInitData(1, pflink), null, true); */
		    
		    parent.getWorkSpaceTabbedPane().getModel().setSelectedIndex(1);
		}else {
		    
		    String systemcode = "local";// 默认系统编码
	        // 功能注册节点
	        String funCode = param;
	        //pk
	        String pk = ClientToolKit.getAppletParam("pk");
	        if (param.contains(":")) {
	            funCode = param.split(":")[0];
	            systemcode = param.split(":")[1];
	        }

	        IFuncRegisterQueryService service = NCLocator.getInstance().lookup(
	                IFuncRegisterQueryService.class);

	        FuncRegisterVO FrvO = null;
	        try {
	            FrvO = service.queryFunctionByCode(funCode);// 功能节点编号
	        } catch (BusinessException e) {
	        }
	        // **********第一种:打开流程单据卡片界面*********************************************************************
	        PfLinkData pflink = new PfLinkData();

	        Logger.debug("pk=" + pk);

	        pflink.setBillID(pk); // 本单据ID

	        //pflink.setBillType("6403"); // 本单据类型

	        // pflink.setSourceBillType("SALE"); // 上游单据类型

	        // pflink.setPkOrg("0001A6100000000009OU"); // 公司

	        //int height = ClientToolKit.getUserHeight() - 40;

	        //int width = ClientToolKit.getUserWidth() - 40;

	        // 卡片形式打开
	        /*
	         * FuncletWindowLauncher.openFuncNodeForceModalDialog(null, FrvO, new
	         * FuncletInitData(1, pflink), null, true, new Dimension( width,
	         * height), null);
	         */
	        // 页签形式打开
	        //parent.firePropertyChange(propertyName, oldValue, newValue);

	            FuncletWindowLauncher.openFuncNodeInTabbedPane(null, FrvO,
	                new FuncletInitData(1, pflink), null, true); 
	        	        
	        Logger.debug("页签已打开");

	        String[] script = new String[] { "if(opener)opener.ncNodeAppletMap.put('"
	                + systemcode + "',findNCApplet())" };
	        ClientToolKit.callJavaScript("eval", script);
		    
		}
		
	

	}

}


写一个DemoSSOUILoader继承原有的SSOLoader重写appletInited方法0代表功能导航,1是消息中心

	    Workbench parent = WorkbenchEnvironment.getInstance().getWorkbench();
		    parent.getWorkSpaceTabbedPane().getModel().setSelectedIndex(1);


如使用上面参考代码使用此链接进行登录进行测试
uclient://start/http://127.0.0.1:80/?ssoKey=1596097658238-9096791302285095722&uiloader=nc.sso.demo.DemoSSOUILoader&nodeid=messagecenter

登录时消息中心默认工作任务

在nc.message.reconstruction.NCMessageMainUI这个类里面的setDefaultSelectedNode方法如下设置,也可更改为其它默认值

private void setDefaultSelectedNode()
	{
		setMsgBoxTreeSelected(IMessageBoxCode.WORKLIST);
	}

消息中心默认显示三个月

在nc.message.msgcenter.msgbox.AbstractMessageBox类中,getMsgQueryInfo方法里面把7天更改为90天即可

	public MsgQueryInfo getMsgQueryInfo()
	{
		if (qryinfo == null)
		{
			qryinfo = new MsgQueryInfo();
			qryinfo.setQuikdate("90");
			qryinfo.setHandle(false);
			qryinfo.setShowQry(false);
		}
		return qryinfo;
	}

原文出处:https://blog.csdn.net/qq_38888284/article/details/116839702

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SSO(Single sign-on)即登录技术。它是指在多个子系统的大型应用中,用户在子系统之间进行切换时,不需要每次都重新输入用户的身份信息,从而做到一处认证,整个应用系统都能有效识别。登录技术的系统集成功能为当前企事业位尤其是大型多子系统企业系统集成提供了完美的解决方案。它使得这些原有系统能够合理的集成起来,对外提供统一的界面风格和唯一的登录入口。登录只是一种功能概念,并没有对具体的实现方式进行定义和限制。NC-Portal的登录方案,就是SSO技术的一种实现方式。 NC-Portal的SSO方案是基于凭证的思想设计。对于NC-Portal集成的每个第三方系统都有一个制作凭证的页面,该页面用于当前登录的portal用户输入对应的第三方系统的用户信息,在正常情况下,该制作凭证的页面最多出现一次。当用户输入的第三方系统登录信息进行验证后,会自动在portal系统的数据库中建立一对凭证槽和凭证信息,这对信息记录了portal用户在特定的portal布局和特定的portlet下,与该第三方系统的身份对应关系。当该用户之后登录portal并进入被集成第三方系统时,portal系统负责获取之前成功建立的对应第三方系统身份信息,并用该身份信息进行第三方系统的身份认证。这一切的操作对当前登录用户来说都是透明的,他们看到的是没有输入任何身份信息而以正确的身份进入了第三方系统。另外,在用户每次登录第三方系统时,都会根据第三方系统的要求进行身份认证,因此这个登录过程是安全的。 对于NC-Portal来说,对Web系统的集成提供了完善的支持和解决,对Web系统的集成,目前有大小之分。集成一个独的系统如NC、IUFO、BO、OA系统采用独的一个布局存放(当然,该布局也是由一个portlet组成),这些Web系统称为“大”系统。另外,还存在一些集成第三方系统的“小”portlet,如NC待办事务Portlet、NC报表Portlet、IUFO报表Portlet等,这些是以“小”Portlet的形式出现的。他们主要提供一些对集成系统的辅助功能,如对NC待办事务的提取、对IUFO报表信息的提取,这两种方式功能侧重点略有不同。
登录(Single Sign-On,简称SSO)是一种身份验证和访问控制的解决方案,允许用户使用一组凭证(如用户名和密码)进行一次登录,然后在多个应用程序和系统中无需再次输入凭证即可访问。NC65作为一种有效的登录解决方案,能够带来以下好处。 首先,NC65实现了用户凭证的集中管理。用户只需在登录时输入一次凭证,系统便会将其保存在安全的认证服务器中。这样,用户无需记住多个复杂的用户名和密码,提高了登录的便捷性。 其次,NC65提供了高度的安全性保障。凭证的集中管理意味着可以更加严格地控制用户的权限和访问范围。只有经过授权的用户才能够访问系统中的应用程序和资源,从而降低了安全风险。 此外,NC65还提供了点注销功能。用户在退出其中一个应用程序后,系统会自动注销用户的所有会话,确保用户不再能够访问其他应用程序。这种注销机制可以有效防止未经授权的访问。 此外,NC65还允许不同系统间的资源共享。用户只需一次登录即可访问各种内部和外部应用程序,无需重复登录。这大大提高了工作效率和用户体验。 总而言之,NC65作为登录解决方案,通过集中管理用户凭证、提供安全性保障、提供点注销功能和实现资源共享等功能,为用户提供了方便快捷的登录体验,同时降低了安全风险和提高了工作效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值