一飞开源,介绍创意、新奇、有趣、实用的免费开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!一、开源项目简介 TopIAM数字身份管控平台,简称:EIAM(EmployeeIdentityandAccessManagement),用于管理企业内员工账号、权限、身份认证、应用访问,帮助整合部署在本地或云端的内部办公系统、业务系统及三方SaaS系统的所有身份,实现一个账号打通所有应用的服务。二、开源协议 使用AGPL3。0开源协议三、界面展示页面展示 仅展示部分UI页面管理端 门户端 四、功能概述产品价值 传统企业IT大多采用烟囱式建设方式,各系统独立建设账号体系、权限体系,当企业团队人数达到数十人至数百人时,由于系统数量多,在账户、密码、权限管理上会出现瓶颈。员工入职、离职,转岗都需要进行账号权限分配等此类管理,操作低效、功能重复、价值低,员工需要记录多套系统密码,容易出现安全问题,导致数据外泄。用户身份认证安全存疑,敏感系统缺乏严格的身份认证机制。 EIAM提供一套集中式账号、权限、认证、应用、审计等,帮助企业打通身份数据孤岛,实现用户全生命周期,实现一个账号打通所有应用的服务,强化企业安全体系,提升组织管理效率,助力企业数字化转型升级。核心特性提供统一组织信息管理,多维度建立对应关系,实现在一个平台对企业人员、组织架构、应用信息的高效统一管理。支持钉钉、飞书、企业微信等身份源集成能力,实现系统和企业OA平台数据联动,以用户为管理基点,结合入职、离职、调岗、兼职等人事事件,关联其相关应用权限变化而变化,保证应用访问权限的安全控制。支持多因素认证,行为验证码、社交认证,融合认证等机制,保证用户认证安全可靠。支持微信、微博、QQ等社交认证集成,使企业具有快速纳入互联网化认证能力。支持SAML2,OAuth2,OIDC,CAS,表单代填等认证协议及机制,实现单点登录功能,预配置大量SaaS应用及传统应用模板,开箱即用。完善的安全审计,详尽记录每一次用户行为,使每一步操作有据可循,实时记录企业信息安全状况,精准识别企业异常访问和潜在威胁的源头。提供标准REST和SCIM2。0接口轻松完成机构用户同步,实现企业对于账号生命周期的精细化管理。开源、安全、自主可控。五、技术选型技术架构 前端技术栈:ES6、React、TypeScript、UmiJS、Axios、AntD 后端技术栈:JDK11、SpringBoot、SpringData、SpringSecurity、Elasticsearch、Redis、MySQL; JDK11是继JDK8后又一个长期支持版本(LTS)。 2018年9月25日,Oracle官方宣布Java11正式发布。 JDK11主要是亮点是GC优化提升,引入两种GC分别是EpsilonGC和ZGC,特别是ZGC,虽然其目前还是实验特性,但这是JDK一个巨大突破,引入HTTP2ClientAPI,提供安全类库以及标准等方面的大范围提升(TLS1。3),还有JDK11逐渐进行瘦身工作,偿还JVM、Java规范等历史债务。 JDK11新特性181:基于嵌套的访问控制309:动态类文件常量315:改进Aarch64内在函数318:Epsilon:无操作垃圾收集器320:删除JavaEE和CORBA模块321:HTTP客户端(标准)323:本地变量Lambda参数的语法324:与Curve25519和Curve448的密钥协议327:Unicode10328:飞行记录器329:ChaCha20和Poly1305加密算法330:启动单文件源代码程序331:低开销堆分析332:传输层安全(TLS)1。3333:ZGC:可扩展的低延迟垃圾收集器(实验性)335:弃用NashornJavaScript引擎336:弃用Pack200工具和API SpringData项目的目的是为了简化构建基于Spring框架应用的数据访问计数,包括非关系数据库、MapReduce框架、云数据服务等等;另外也包含对关系数据库的访问支持。SpringData包含多个子项目:Commons提供共享的基础框架,适合各个子项目使用,支持跨数据库持久化Hadoop基于Spring的Hadoop作业配置和一个POJO编程模型的MapReduce作业KeyValue集成了Redis和Riak,提供多个常用场景下的简单封装Document集成文档数据库:CouchDB和MongoDB并提供基本的配置映射和资料库支持Graph集成Neo4j提供强大的基于POJO的编程模型GraphRooAddOnRoosupportforNeo4jJDBCExtensions支持OracleRAD、高级队列和高级数据类型JPA简化创建JPA数据访问层和跨存储的持久层功能Mapping基于Grails的提供对象映射框架,支持不同的数据库Examples示例程序、文档和图数据库Guidance高级文档 常见问题 身份源同步 上游用户信息发生修改,同步时与本地现有数据字段冲突,同步失败,组织关系会修改吗? 会修改,由于数据值等问题导致用户信息修改失败,不会影响用户组织关系修改。 SAML2相关 SPSSODescriptor。AuthnRequestsSigned和IDPSSODescriptor。WantAuthnRequestsSigned?SPSSO描述符描述了服务提供者配置。IdPSSO描述符描述身份提供者配置。SPSSODescriptor中的AuthnRequestsSigned标志指定SP将对发送给IdP的身份验证请求进行签名。IdPSSODescriptor中的WantAuthnRequestsSigned标志指定IdP希望接收SP签名的身份验证请求。 EntityDescriptor。ValidUntil是否与签名或加密证书的到期日期相同? ValidUntil指示SAML元数据的有效期。例如,这可以用作根据有效期自动检索新SAML元数据的自动化系统的一部分。这与签名或加密证书的任何到期日期无关。 OAuth2AccessToken为什么不是JWT形式? 安全考虑,系统设计accessToken形式为reference,对于外部环境referencetoken的生命周期可以有完整的控制。六、源码地址 访问一飞开源:https:code。exmay。com