如何实现业务系统的单点退出

当前我国各领域正在加速向数字化、移动化、智能化发展,大力投入信息化建设与数字化转型已成为企业的共识,但对于很多企业而言,组织信息环境庞大复杂,业务场景变化频繁,给身份管理与信息安全管理带来很大挑战。随着信息化系统数量逐渐增多,每套信息系统的身份管理、认证、权限等均各自独立建设,不仅维护成本高,且容易形成信息孤岛,从而为管理及运维带来极大难度,影响企业运行效率的同时,还存在安全漏洞与隐患。

IDM身份管理系统为解决企业内部多系统之间的用户信息不一致而开发,主要定位于解决企业在5A功能上的需求,即:Account账号管理、Authentication认证管理、Authorization授权管理、Audit审计管理、App Control应用管控五个方面的实际需求,进而规范用户身份信息,保证系统安全,提高工作效率。

1总体说明

总体说明主要包括对于整体的业务需求、产品的功能架构以及产品的认证架构等进行介绍。

1.1技术架构

IDM身份管理平台由统一用户、统一认证、统一授权、统一审计、应用管控五部分组成,产品中既包括传统5A认证中的功能,还包括操作任务、流程审批、运行监控统计等功能。IDM身份管理平台技术架构图如下所示:

1.IDM管理由统一用户、统一认证、统一授权、统一审计、应用管控五部分组成,产品中既包括传统5A认证中的功能,还包括操作任务、流程审批、运行监控统计等功能。

2.账户管理、应用配置、操作任务、监控统计、系统管理等功能,帮助用户实现组织、人员、岗位管理、多关联关系的权限管理、用户创建、操作、流程审批等行为的审计分析、追溯管理等。

3.统一认证主要实现统一身份认证,集中管理用户信息,实现单点登录机制,BPM工作流主要实现对创建账号、授权管理时的流程审批功能,同时对用户访问的日志记录进行审计和分析。

4.接口层实现对底层资源信息的收集和管理,也可以跟外部组件的信息交互,如:数字证书、第三方应用等,产品预置跟ESB集成的集成机制,同时提供数据同步接口,实现数据间的抽取、转换、分发等操作。

1.2认证架构

整体的认证架构具体如下:

IDM单点登录分为三种方式:CAS认证、Oauth认证、Open API认证:

1.CAS认证:CAS原生认证方式根据不同平台语言( JAVA/.NET/PHP )提供不同认证模式,通过参考给出的配置教程,在需要单点登录的系统中进行Jar包替换即可。

2.Oauth认证:Oauth认证方式为根据Oauth协议,采用多平台关联登录方式,IDM作为Oauth Server(客户端),用户向IDM注册,IDM安全地获取用户的授权,实现验证服务器与应用服务器的交互,获取系统里的基本信息进行认证。

3.Open API认证:IDM平台提供认证的Open API,通过对用户名和密码加密传输的方式完成认证,可以满足客户端、APP、小程序等灵活认证的应用场景需求。

1.3业务需求

在实际的项目上,所有的内部产品都是基于IDM的进行的CAS认证,而通过Portal门户进行单点登录的退出时,其他产品不能响应当前的账号退出状态,还处于登录状态,需要手动的到各个产品进行退出,所以需要通过对于产品的配置实现Portal门户退出之后,其他产品刷新后认证退出。

2实现方式

在本章中将对于统一账号的具体实现方式进行详细得介绍,具体将分为前期准备、实现思路以及过程梳理三个方面进行展开说明。

2.1前期准备

首先对IDM、ESB等产品进行调试,使用最新版的避免出现产品问题,其次先行熟悉UMC的相关操作,了解IDM认证方式和具体实现代码以及ESB的配置文件等等。

2.2退出机制

单点退出的机制如下:

1.CAS工程作为webSocket服务端,Portal产品与其他产品都作为webSocket服务端;

2.Portal产品退出CAS时通过webSocket连接将信息共享到其他webSocket客户端;

3.其他系统通过拦截器获取到CAS的退出信息,之后退出当前系统的登录。

2.3实现思路

在上文已经对本次工作的需求做出了阐述,在拿到需求之后,先整理出大体的实现思路,有了一个大体的实现思路之后,再根据实现思路进行更为具体的实现过程的设计,本次开发工作的大体实现思路如下:

1.Portal产品的配置:修改产品的web.xml文件,增加SloWebClient配置;

2.IDM产品的配置:修改产品的web.xml文件,增加SloWebClient配置,修改cas.properties配置;

3.接入配置调整:增加SloWebClient配置,重新生成调整后加载接入配置;

4.登录测试单点退出

3产品配置

通过上文已经对于整体的实现步骤进行了相应的梳理,下面对于单点退出的具体实现过程进行详细得介绍。

3.1IDM产品配置

本次单点退出配置需要进行IDM产品的配置调整,具体如下:

1.Web.xml调整。

2.casproperties配置。

3.2Portal产品配置

本次单点退出配置需要进行Portal产品调整, Web.xml调整。

具体如下:

3.3接入配置调整

首先进行Nginx的调整,需要使用UMC云管理平台,打开集群管理->接入配置->Niginx.conf查看。

具体配置如下:

当nginx.conf修改之后需要对接入配置进行重新生成并加载。

打开UMC的租户管理->租户配置->对应环境->接入配置->自动补全。

对于IP和端口进行更改。

点击查看配置之后进行部署加载。

4测试验证

完成上述配置之后,便可进行单点退出的测试,在本章节中,将对产品重启产品登录以及退出测试进行详细介绍。

4.1产品重启

打开UMC的租户管理,在对应环境上进行重启产品(IDM与Portal)。

之后,编辑保存进行容器创建,重启产品。

4.2产品登录

在上述的所有操作完成之后,便可以进行产品的登录,登录Portal产品与IDM产品。

4.3退出测试

登录之后便可以进行单点退出的测试,首先进行Portal的退出。

Portal退出之后,直接刷新IDM的页面。

刷新之后IDM产品也回到了登录的页面。

可以看出单点退出已经验证成功。

5总结说明

通过本次单点退出的开发,使自身有了一定的感悟和提升,现从过程总结、难点攻克以及后续思路几个方面进行总结。

5.1过程总结

内部系统的单点退出配置主要过程如下:

1.Portal产品的配置:修改产品的web.xml文件增加SloWebClient配置;

2.IDM产品的配置:修改产品的web.xml文件增加SloWebClient配置,修改casproperties配置;

3.接入配置调整:增加SloWebClient配置,重新生成调后加载接入配置;

4.登录测试单点退出。

5.2难点攻克

在本次工作的历练,让我的能力有了很大的提升,同时在配置的过程中也是遇到了一些难点,现从以下几点进行阐述。

1.cas.properties文件调整:在刚开始调整配置的时候没有调整cas.properties文件中的配置,之后在与同事交互后发现了这个问题并加以解决。

2.接入配置:刚开始配置了其他的文件但是没有修改Nginx.conf配置,导致SloWebClient一直无法被调用,后来在查看日志之后发现了这一问题,调整了配置加以解决。

5.3后续思路

通过开发配置的过程对实现方式进行了总结梳理,在进行实际项目的开发和配置时要结合业务场景,在使用过程中加深产品了解同时深化业务理解,出现问题时要及时的沟通交互,及时反馈处理问题。

在实际项目中需要和不同的系统厂商集成交互,需要不断提高自己的沟通能力,以及对于产品、方案的理解等,同时对于问题的分析也要更加全面和透彻,通过对问题的仔细分析反复揣摩进而解决,在这种不断交互的过程中逐渐去打磨自己,让这种思考方式形成一种习惯,也会为后续工作打下良好的基础。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/185889.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

再谈谷歌GMS认证之Android 13

写在前面的话 2023年来到一个新的公司,传说中的做互联网金融即将上市的高大上公司。 入职后才发现就是做pos机设备的一个小厂 哎,什么命啊! 工作和手机开发的工作重合度可以达到95%以上,我不想做手机,偏偏又干上…

Python编程技巧 – 使用列表(list)

Python编程技巧 – 使用列表(list) Python Programming Skills – Using a List 在Python编程语言中,我们会用到许多列表(List)。 一门强大的编程语言会包含列表(或者数组)的数据结构。列表(或数组&#…

荣誉上榜 | DolphinDB 入选2023年浙江省高新技术企业研发中心名单

近日,浙江省科学技术厅组织开展了2023年省高新技术企业研究开发中心认定工作。在各市科技局推荐的基础上,经评审和复核,发布了《2023年浙江省高新技术企业研究开发中心名单》。DolphinDB 成功入选该名单。 省级高新技术企业研发中心的申报及评…

万能在线答题考试小程序源码系统 既能刷题 又能考试 带完整的搭建教程

现如今,线上学习和考试已经成为一种趋势。近年来,移动端的普及以及微信小程序的兴起,使得在线答题考试系统变得更加便捷和高效。今天罗峰就来给大家介绍一款万能在线答题考试小程序源码系统,既能刷题,又能考试&#xf…

调用 LeaveCriticalSection 出现无效句柄异常

从内部的视角看,一个临界区是一套计数器和标志位的集合,也可能是一个事件对象。 (请注意,临界区的内部结构随时可能更改,事实上,它在 Windows XP 和 Windows 2003 之间发生了变化。因此,此处提供的信息仅用…

如何将 Docsify 项目部署到 CentOS 系统的 Nginx 中?

文章目录 1. 介绍2. 准备工作3. 将 Docsify 项目上传至服务器4. 在服务器上安装 Node.js5. 在服务器上运行 Docsify6. 配置 Nginx 反向代理7. 访问 Docsify 文档8. 拓展8.1 配置 HTTPS8.2 定制 Docsify 主题8.3 鉴权和访问控制 🎉如何将 Docsify 项目部署到 CentOS …

java“俄罗斯方块”

首先新建议一个包为Tetris (俄罗斯方块) 类名也叫做Tetris; 代码运行: package Tetris; import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridLayout; import java.awt.event.KeyEvent; import java.aw…

高性能音乐流媒体服务Diosic

什么是 Diosic ? Diosic 是一个开源的基于网络的音乐收集服务器和流媒体。主要适合需要部署在硬件规格不高的服务器上的用户。Diosic 是使用 Rust 开发的,具有低内存使用率和高性能以及用于流媒体音乐的非常干净的界面。 安装 在群晖上以 Docker 方式安装。 在注…

C/C++高频面经-秋招篇

自己在秋招找工作过程中遇到的一些C/C面试题,大中小厂都有,分享出来,希望能帮到有缘人。 C语言 snprintf()的使用 函数原型为int snprintf(char *str, size_t size, const char *format, …) 两点注意: (1) 如果格式化后的字符…

Mac安装win程序另一个方案

前言 今天跟大家分享的是mac装win程序的另一个思路,不需要大动干戈的装双系统、虚拟机。最后分享感受,先说过程吧。 一、思路介绍 其实,就是利用CrossOver,这个软件的介绍大家可以自行了解。不过不得不说这玩意还是国外的人思路新…

vmware17 虚拟机拷贝、备份、复制使用

查看新安装的虚拟机位置 跳转到上一级目录 复制虚拟机 复制虚拟机整个目录 删除lck文件,不然开机的时候会报错 用vmware 打开新复制的虚拟机 lck文件全部删除 点击开机 开机成功

Python接口自动化(什么是接口、接口优势、类型)

简介 经常听别人说接口测试,接口测试自动化,但是你对接口,有多少了解和认识,知道什么是接口吗?它是用来做什么的,测试时候要注意什么?坦白的说,笔者之前也不是很清楚。接下来先看一下…