我们使用IdentityServer3作为我们的中央身份验证提供程序。现在我有一个关于企业环境中的IdenityServer的一般问题。我尝试用以下示例来解释它:
- 如果用户已成功通过身份验证,他将从提供程序获取令牌。令牌包括用户的唯一 ID。
- 经过身份验证的用户向 WebAPI 发送请求,以创建新项(例如新产品)。
- WebAPI 从令牌中提取唯一 ID,并在数据库中创建新产品。此外,新产品还与唯一的用户ID相关联(例如,创建用户ID)。
- 其他用户向 WebAPI 发送请求以获取所有可用产品。
- WebAPI 创建一个数据库查询来检索所有产品。此外,WebAPI 希望将每个产品的创建用户 ID 转换为相关的用户名。但这是不可能的,因为用户名存储在身份数据库中,该数据库是应用程序数据库以外的其他数据库(例如产品)。是否有一些最佳实践来解决此要求?
非常感谢您的帮助!
问候
谢谢你的回答。我只看到一种方法可以实现我的要求:
--> 我将用户名与 userId 存储在应用程序数据库中,因为用于翻译的 API 会变慢。