在技术上,UMGT使用Java 17编写后端逻辑,并采用了JPA框架来处理对象关系映射,使得与数据库的交互更加简便。依赖管理和构建都是由Maven来完成的,而Keycloak 21.1.2则用来处理用户认证和授权。这使得UMGT能够无缝地与Okta这样的外部身份认证服务进行集成,从而简化了身份验证的过程。
前端部分,UMGT使用了React框架来构建用户界面,这使得界面不仅反应迅速,而且易于维护。为了使界面更加美观和一致,采用了PatternFly样式库,这是一套支持响应式设计的UI组件库。React Router DOM用来管理页面间的导航,而Snowpack则负责前端的构建工作,提高了开发效率,并且生成的代码更适合生产环境使用。
在业务功能方面,UMGT主要关注两个核心领域:用户管理和权限治理。用户管理涵盖了创建、修改、删除用户信息,以及维护用户的活跃状态等功能。权限治理则是指对用户的访问权限进行分配和管理,确保只有经过授权的用户才能访问相应的资源。此外,UMGT还能与诸如Okta和CMDB这样的外部系统进行集成,确保用户信息的同步和推送,这样就能够在不同的系统之间保持数据的一致性。
企业在管理用户信息和权限时面临的主要痛点包括多系统间的数据不一致、复杂的权限管理以及缺乏统一的认证平台。这些问题导致了信息的不一致性和冗余,增加了权限管理的复杂度,同时也使得用户认证流程变得繁琐且不够安全。
多系统数据不一致: 企业内部存在多个用户管理系统,数据难以同步,导致信息不一致。
权限管理复杂: 随着业务扩展,权限管理变得复杂且难以维护。
缺乏统一的认证平台: 缺少统一的身份认证和授权平台,导致用户认证流程复杂。
集中管理: UMGT作为统一的用户管理平台,集中管理全量用户数据和权限信息,确保数据一致性。
灵活的权限管理: 提供灵活的权限管理机制,支持细粒度的权限分配和动态调整。
集成Keycloak