IBM中间件下SaaS应用:单一实例多租户资源共享设计详解

1 下载量 177 浏览量 更新于2024-08-27 收藏 773KB PDF 举报
"使用IBM中间件实现SaaS解决方案的第4部分深入探讨了在单一实例多租户应用程序中设计和管理资源共享的关键设计模式。本文以EasyOA办公自动化应用程序为例,阐述了如何构建一个经济高效、安全且可配置的架构,以支持多个客户组织(租户)共享资源。 首先,文章介绍了多租户身份验证和授权机制的重要性,这两个方面旨在确保租户数据的安全性和隔离性。设计时,将组织数据存储在LDAP服务器和数据库中,采用多租户树模式,实现了租户感知的身份验证机制,同时增强JAAS的授权功能,使租户能独立定制访问控制列表和权限。 文章的核心部分详细描述了体系结构,包括四个关键组件:租户组织结构和访问控制数据的存储、身份验证服务(维护租户信息在安全会话令牌中)、授权服务(实现实时权限检查)以及支持租户自定义的组织结构和权限配置的服务。在实际操作中,为了实现隔离,可以采用物理或虚拟的子树结构来存储每个租户的数据,如图2和图3所示的虚拟组织结构,以及图4的物理组织结构树。 此外,文章强调了新租户加入时的流程,即分配唯一的租户ID,并在共享的LDAP服务器中创建相应的子树,保持租户数据的隔离。这在整个设计中至关重要,以确保每个租户的数据独立且不受其他租户干扰。 最后,文章提到一个即将发布的developerWorks文章系列会进一步深入探讨这些主题,为读者提供更为详尽的学习资源。这篇文章提供了在IBM中间件环境中构建和管理单一实例多租户应用的实用设计指南,对于理解和实践SaaS解决方案具有很高的参考价值。"