产品问题关于K3Cloud单点登录后原登录界面会被强制下线问题

简单

产品问题 关于K3Cloud单点登录后原登录界面会被强制下线问题

目前K3Cloud版本:7.3.1260.6一、业务需求:我们需要在内部其他系统集成K3Cloud单点登录功能,根据官方提供的教程文档,我们已成功实现调用浏览器、客户端进行单点登录功能。目前我们使用以 … 显示全部

  • 关注者2
  • 被浏览206
查看全部2个回答
金蝶云社区-yaojunsong
yaojunsong

1人赞同了该回答

提问“1、在已登录界面以页签的形式打开新单据,在进行单点登录时如果检测到当前电脑已存在当前用户登录后的窗体或浏览器,自动在已登录的窗体里以新建页签的形式打开单点登录的目标单据。”

答:这种方式是不合适的,对一个独立进程进行外部注入是非常不安全的,更何况是还要对一个IE浏览器的沙箱进程注入就更不合适了,这就好像做了一个侵入程序。


提问“2、实现窗口共存,旧登录窗口与新登录窗口互不影响,都可进行相关操作。”

答:这种方式会引起同一个用户同时登入多个会话,导致大数据用户权限泄露,表单的网络控制混乱,甚至导致数据错误,因此是不合适的。


针对你的问题,是否可以考虑以下方案:

步骤1、二次开发启动登陆校验插件,在二开插件中判断当前用户是否在线,如果在线就返回提示信息,并把需要打开的单据信息写入数据库,然后不做登陆操作直接退出。

步骤2、在已经打开的用户端,通过轮询查询数据库是否有待处理单据信息,如果有就打开该单据。(轮询可以采用进度条功能)。


ps: 判断当前用户是否在线的服务端接口:

List<Kingdee.BOS.ProductModel.LoggedOnUserInfo> loggings = Kingdee.BOS.ServiceHelper.ManagementCenter.UserMangerServiceHelper.GetOnlineUsers(ctx);


编辑于 2019年8月14日 08:57:19

查看全部2个回答

关于作者