我们有几种用户类型
- 内部用户(使用 Active Directory 进行身份验证)
- 外部用户/客户端(存储在 DB1 中)
- 外部用户/供应商(存储在 DB2 中)
我们计划使用 Spring Security OAuth2 生成 GWT 令牌,然后可以使用它来调用一组 web 服务
我可以使用多个 AuthenticationProviders(LDAPAuthenticationProvider 和两个 DAOAuthenticationProviders),但是我们将失去让用户同时成为客户端和供应商的能力(如果他们使用相同的电子邮件进行身份验证)。因为一旦身份验证成功,它将停止轮询提供程序。
我还可以使用配置文件 @Profile="vendor/client" 并专门为客户端或供应商身份验证启动身份验证服务器 - 但这意味着两个不同的进程 = 更多维护。
还有其他想法吗?有人遇到过类似的事情吗?