1

我目前正在两个应用程序中集成 Spring 安全性及其 OAuth 2.0 实现。一开始,整体架构如下:

  1. 应用程序 A是一个前端应用程序。它独立存在并实现与自己的领域相关的业务逻辑。它有自己的身份验证机制(基于本地用户表)。

    它还有一个称为超级密码的功能,如果该用户列在本地adminList表中并且他/她提供了正确的管理员密码,则该功能允许将本地用户提升为应用程序 A 的管理员。此功能是类似sudo 的功能,允许用户模拟另一个用户的上下文(主要用于与帮助台相关的任务)。

  2. 应用 B是基于 Spring Security 的独立应用,使用 Spring 的 OAuth 2.0 实现。我们将其用作其他前端应用程序的中央身份验证点。

然后,我们设法将所有身份验证麻烦从应用程序 A 转移到应用程序 B。所以现在,不再需要应用程序 A 中的本地用户表,与用户身份验证相关的所有内容都移到了应用程序 B。

唯一剩下的是超级密码功能:是否可以将此功能(作为扩展)移动到应用程序 B(负责身份验证)并且仍然让应用程序 B 作为所有其他应用程序的通用身份验证服务器?

如果是,那么如何使用 Spring security/OAuth 2 机制来实现?

或者,由于它是与 Application A 相关的功能,如果我们只在 Application A 上实现它会更好吗?

任何帮助,将不胜感激。提前致谢。

4

0 回答 0