Agile PLM 单点登录

本文详细描述了如何在SSO系统与PLM系统间实现单点登录,并探讨了用户信息自动同步的不同方案,包括全量同步和增量同步,以及模拟登录和登录界面重定向的开发流程。关键点涉及联调开发、密码获取方式和同步规则的确定。
摘要由CSDN通过智能技术生成

需求描述

  1. 在SSO单点登录系统登录以后,可以直接进入PLM,无须二次登录。
  2. 单点登录系统的用户信息更新后,可以自动同步给PLM(入职,离职,姓名,密码等)
  3. PLM退出登录后,回到单点登录系统登录页面,而不是PLM的登录页面。

适用Agile版本

9.3.6.18或之前版本,后续的新版本尚未实施,不确定是否支持。

实现前提

  1. 要实现单点登录,PLM需要和单点登录系统联调开发才能实现。无法通过简单配置一个单点登录地址实现。
  2. PLM的用户账号和密码必须和SSO平台的设置成一样,才能正确登录。
    1. 如果PLM用户数量不多,可以考虑管理员人工维护PLM用户信息。
    2. 如果想要实现自动用户信息同步,需要联调开发用户信息同步程序。
      1. 当新增用户,用户离职,用户信息变更等场景下自动同步用户信息给PLM。
      2. 自动同步之后,PLM的修改密码功能将失效。即使改了也会被覆盖。
    3. LDAP域集成。这种方式为AgilePLM的标准功能,首先需要搭建LDAP环境,做好之后还能自动屏蔽修改密码功能。
  3. PLM需要获取到要登陆的用户账号和密码才能实现单点登录。密码获取方式有如下几种
    1. 统一密码。即所有用户同一个密码。
      1. 如果PLM登录密码和审批密码设置成了不一致,修改审批密码必须输入登录密码。但登录密码设置成了统一的,不能随意泄露给用户。故此种场景不支持。
    2. 动态密码。登录时将实际登录的用户密码传给PLM。
      1. 可以在URL或者接口中传输密文密码给PLM,提供解密方式。不支持无法解密的算法,例如:MD5
      2. PLM可以调用统一用户平台接口获取用户账号和密码
      3. 参考上文,如果实现了用户信息同步,登录时可以从中间表自动获取密码。
  4. 实施时需要获得修改Agile源代码权限,如果用户升级Agile之后需要重新部署。
  5. 支持屏蔽AgilePLM退出之后的登录界面,暂不支持屏蔽Agile登录页面。
  6. 单点登录系统用户退出登录后,暂不支持自动退出Agile用户(仍可继续操作)。

实现思路

  1. 如上文所述,接入SSO之前,首先需要确保PLM的用户账号密码和SSO平台的一致。
  2. 用户在SSO平台登录成功之后,进入SSO主页,然后继续点击PLM登录入口。
  3. PLM登录入口是定制开发Web程序的URL,此时需要将登录用户的账号密码传给PLM
  4. Web程序获取到用户账号和密码之后,模拟PLM登录,进入PLM首页。

实现步骤

用户信息同步

如果要实现用户信息自动同步,需要沟通好同步用户的字段与同步规则。

比较常见的字段如下:用户工号,用户姓名,密码,邮箱,手机号等。其中用户密码需要提供解密方式。

如果需要同步岗位,部门,直属领导等信息则需要进一步讨论业务规则。

全量同步

  1. 单点登录系统提供查询接口或者视图,PLM开发定时任务调用接口或者视图。
  2. 将获取到的全量用户信息后与自己数据库中的信息进行比对。并更新自己的用户信息。
    1. 如果用户不存在则创建。存在则修改
    2. 新同步过来的用户将赋予默认基础角色。
  3. 方案优点
    1. 开发周期较短。
    2. 功能上线即可同步全量用户信息。
  4. 方案缺点
    1. 由于每次都要同步全量用户信息,同步时间较长。随着用户数量逐渐增多同步时间也会变长。
    2. 同步延迟。由于是定时任务定期同步且单次同步时间较长,存在一定的同步间隔。

增量同步

  1. PLM提供用户信息保存接口,支持用户信息新增和修改。
  2. 单点登录系统进行定制开发,当用户信息变更时调用PLM的用户信息保存接口。
  3. 新同步过来的用户将赋予默认基础角色。
  4. 方案优点
    1. 同步数据量较少,单词同步时间较短。每次只同步发生了变更的用户。
    2. 同步延迟较低。
  5. 方案缺点
    1. 双方都需要定制开发且需要联调,开发周期较长。
    2. 维护成本较高,如果同步时PLM系统接口不通或异常,需要管理员人工干预。
    3. 程序首次上线时,需要额外的方式同步全量用户信息。

Web项目模拟登录

新建SpringBoot Web工程,创建controller接收URL请求。

在controller中配置好URL映射,当用户在企业门户主页点击PLM图标时。单点登录平台会将URL和token传过来。

解析token或者url中附带的用户信息。通过和SSO开发方沟通好的方式获取账号和密码。

将用户名和密码,传到页面的form表单中,然后提交表单,模拟Agile登录

AgilePLM登录界面重定向

目前这个步骤是客户公司的IT部实施的。通过全局的链接地址重定向功能,将AgilePLM的登录地址重定向到统一登录入口的登录地址。还有其他系统需要集成单点登录的也需要做相同配置,例如:CRM,MES,EHR等。

点击退出按钮之后会回到登录页面。这个界面目前可以通过修改Agile源码的方式修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值