首页 > 解决方案 > 分布式系统中的用户和帐户管理

问题描述

我们有一个大型分布式和多租户系统,包含各种帐户: - 管理员和后台用户帐户 - 客户帐户 - 收银员帐户(租户:每个客户租户都有一个或多个收银员)

所有这些帐户都或多或少共享相同的生命周期(创建帐户,授予某些资源,拒绝帐户,密码提醒......)但它们并未用于系统的所有应用程序:某些帐户将用于特定或仅以两个应用程序为例。此外,我们的系统应该有可能与一个用于客户管理的 CMS 建立桥梁,或者有一天可以针对 ldap 授权后台用户帐户......

所以问题是:我们正在寻找对我们的权利和授权服务进行建模的最佳方式。一个想法是创建一个服务来管理所有类型的任何类型的帐户:这是一种 SOA 方式来模块化我们的系统,一个想法是创建不同的服务:也许更多的是一种面向微服务的思维方式。 .

你有什么意见?我正在寻找关于这两种不同方法的一些建议和反馈,或者可能是我们没有考虑过的替代方法......

标签: microservicessoa

解决方案


如果您正在为您的问题寻找任何开源解决方案,您可以查看keyclaok

Keycloak 也在 Thoughtworks Technology RADAR中占有一席之地。这是非常有前途的解决方案,并且还具有 LDAP、多租户支持。结帐keycloak 功能

也有像ForgeRock这样的付费解决方案。

在这里获得您对 SOA 或微服务实施方式提出的反馈(您将获得不同的反馈/建议)

如果您有一项服务来处理访问和授权管理以及其他查看用户详细信息的服务,那就更好了。如果您的意思是为不同的帐户提供不同的服务,那么请注意,拥有一个服务来照顾帐户仍然被视为微服务方法,因为有一个专用服务来执行一组任务。

您可以拥有用于用户信息管理的 User-Service 和用于处理用户访问和授权的 authService。检查


推荐阅读