热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

AgilePLM单点登录

需求描述要求PLM集成SSO(单点登录),在SSO统一登录以后可以直接进入PLM,无须二次登录。适用Agile版本&#x

需求描述

要求PLM集成SSO(单点登录),在SSO统一登录以后可以直接进入PLM,无须二次登录。

适用Agile版本:9.3.2+

总工作量:10~30人天


实现前提

PLM必须能够获取到用户的明文密码才能实现单点登录。

如果公司信息安全要求,密码存储和传输必须使用密文,可以提供给PLM解密方式。不要使用无法解密的算法,例如:MD5

如果不能提供PLM用户密码,那PLM必须使用固定密码才能实现单点登录。


实现思路


  1. 接入企业SSO之前,需要有一个公共平台统一维护用户账号。然后同步给其他系统。
  2. PLM同步统一用户平台的数据。确保用户信息变更后也可以自动登录。
  3. 创建Web项目。接收SSO登录请求,解析token,模拟PLM登录。
  4. 全局配置URL重定向,将第三方系统登录地址重定向到统一登录入口。


实现步骤


组织架构同步

这一块的工作量占的比重较大,需要根据同步内容和同步规则具体评估工时,还涉及系统联调。

首先需要和需求提出方确认好要同步哪些对象哪些字段。比较常见的是同步用户信息,例如:用户工号,用户姓名,密码,邮箱,手机号等。其中用户密码涉及加密,需要提供解密方式(下面会详细介绍)。但也有的公司还会要求同步岗位,部门,直属领导等信息。


用户信息同步

目前的实现方式如下:

开发定时任务定时全量同步。需要单点登录系统提供接口或者视图,第三方系统获取全部用户信息后进行比对并更新自己的用户信息。这种方式用户信息同步存在滞后问题,而且如果用户信息比较多,单次同步时间较长。优点是开发周期较短而且功能上线时可以全量同步。

开发接口增量同步。当用户信息存在变更时,需要单点登录系统主动推送增量变更信息推送给第三方系统。这种实现方式同步延迟较低,开发周期较长,建议采用MQ实现。

LDAP域集成。这种方式首先需要搭建LDAP环境,AgilePLM有标准功能支持,做好之后还能自动屏蔽修改密码功能。

无论采用哪种方式,一般新同步的用户权限只能默认基础角色,需要管理员额外在PLM单独配置其他权限。实现时,可以考虑创建一个基础用户,然后新用户从这个用户另存。


密码同步

密码同步一般2个实现方案。单点登录系统必须提供明文密码。AgilePLM不支持密文密码。


  1. 所有用户设置统一的固定密码,例如:P@ssw0rd。
  2. 每个用户密码都不同,同步用户的实际密码。


Web项目模拟登录

新建一个Web工程,需要用到一个controller和html页面。

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

解析token中附带的用户名和密码。需要SSO的开发方提供解密方式。

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


Weblogic内部校验关闭

部分步骤代码因公司保密协议要求不便给出。需要洽谈合作的可以微信联系(微信号同csdn账号)。

目前已在Agile 9.3.6的很多版本上实施过了。


AgilePLM登录界面重定向

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

出于研发信息安全考虑,有的公司虽然集成了单点登录但还是会限制PLM只能从内网才能访问。


推荐阅读
  • 分布式计算助力链力实现毫秒级安全响应,确保100%数据准确性
    随着分布式计算技术的发展,其在数据存储、文件传输、在线视频、社交平台及去中心化金融等多个领域的应用日益广泛。国际知名企业如Firefox、Google、Opera、Netflix、OpenBazaar等均已采用该技术,推动了技术创新和服务升级。 ... [详细]
  • 如何高效学习鸿蒙操作系统:开发者指南
    本文探讨了开发者如何更有效地学习鸿蒙操作系统,提供了来自行业专家的建议,包括系统化学习方法、职业规划建议以及具体的开发技巧。 ... [详细]
  • 微信平台通过盛派SDK(sdk.weixin.senparc.com)允许服务号和订阅号使用appId和token读取关注用户的个人信息。然而,这一过程需严格遵守隐私保护和数据安全的相关规定,确保用户数据的安全性和隐私性。 ... [详细]
  • 垂直泊车路径设计
    本文探讨了垂直泊车路径的设计原理与实现方法。垂直泊车是指汽车从特定位置出发,经过一系列横向和纵向移动,最终达到与车位垂直停放的状态。路径设计旨在确保泊车过程既高效又安全。 ... [详细]
  • 本文探讨了在不同场景下如何高效且安全地存储Token,包括使用定时器刷新、数据库存储等方法,并针对个人开发者与第三方服务平台的不同需求提供了具体建议。 ... [详细]
  • 本文详细介绍了Socket在Linux内核中的实现机制,包括基本的Socket结构、协议操作集以及不同协议下的具体实现。通过这些内容,读者可以更好地理解Socket的工作原理。 ... [详细]
  • Java高级工程师学习路径及面试准备指南
    本文基于一位朋友的PDF面试经验整理,涵盖了Java高级工程师所需掌握的核心知识点,包括数据结构与算法、计算机网络、数据库、操作系统等多个方面,并提供了详细的参考资料和学习建议。 ... [详细]
  • 1.前言PAP和CHAP协议是目前的在PPP(MODEM或ADSL拨号)中普遍使用的认证协议,CHAP在RFC1994中定义,是一种挑战响应式协议&#x ... [详细]
  • 应用链时代,详解 Avalanche 与 Cosmos 的差异 ... [详细]
  • DVWA学习笔记系列:深入理解CSRF攻击机制
    DVWA学习笔记系列:深入理解CSRF攻击机制 ... [详细]
  • 在 CentOS 7 系统中安装 Scrapy 时遇到了一些挑战。尽管 Scrapy 在 Ubuntu 上安装简便,但在 CentOS 7 上需要额外的配置和步骤。本文总结了常见问题及其解决方案,帮助用户顺利安装并使用 Scrapy 进行网络爬虫开发。 ... [详细]
  • Cosmos生态系统为何迅速崛起,波卡作为跨链巨头应如何应对挑战?
    Cosmos生态系统为何迅速崛起,波卡作为跨链巨头应如何应对挑战? ... [详细]
  • 深入解析HTTPS:保障Web安全的加密协议
    本文详细探讨了HTTPS协议在保障Web安全中的重要作用。首先分析了HTTP协议的不足之处,包括数据传输过程中的安全性问题和内容加密的缺失。接着介绍了HTTPS如何通过使用公钥和私钥的非对称加密技术以及混合加密机制,确保数据的完整性和机密性。最后强调了HTTPS的安全性和可靠性,为现代网络通信提供了坚实的基础。 ... [详细]
  • AcetoneISO:Ubuntu Linux下的全能虚拟光驱工具
    AcetoneISO 是一款功能强大的虚拟光驱软件,适用于 Linux 和 Mac 系统。它支持多种映像文件格式的挂载和转换,并提供丰富的文件管理功能。 ... [详细]
  • Keepalived 提供了多种强大且灵活的后端健康检查机制,包括 HTTP_GET、SSL_GET、TCP_CHECK、SMTP_CHECK 和 MISC_CHECK 等多种检测方法。这些健康检查功能确保了高可用性环境中的服务稳定性和可靠性。通过合理配置这些检查方式,可以有效监测后端服务器的状态,及时发现并处理故障,从而提高系统的整体性能和可用性。 ... [详细]
author-avatar
黎世江
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有