繁体   English   中英

这是Web服务与多租户数据库交互的好方法吗?

[英]Is this a good way a web service interacts with a multi-tenant database?

我试图使我的Web服务标识特定的客户端数据以JSON形式返回。 我不确定这是正确的方法,并且我会建议您。

当前的工作方式是:

  1. 具有所属公司名称的用户的数据库表。
  2. 登录后,身份验证服务将在令牌有效负载中向JWT令牌颁发带有company_id的令牌。
  3. 客户端发送带有令牌的HTTP请求,此后,服务将验证令牌的有效性,然后特定路由通过WHERE company_id = company_id_in_token SQL返回数据。

我遇到的危险信号是:

  1. 在令牌有效载荷中包含用户数据。 SSL会否定这一点,但是我担心设计不好。
  2. 必须在每个表包含company_id列以进行过滤。

拜托,我请你把我的一个撕掉。

如果您参考OpenID规范,则说明您发送了id_token,但对其进行了签名以供以后验证。 同样,如果可以使用upn或sub索赔,则可以从此数据推断租户。 但是,如果所涉及的user代表另一个租户工作,则需要特殊的标头来推断该租户,示例性上下文租户可以是包含上下文中该租户的标头。

如果有“租户ID”列,那么在核心业务对象表中有一个“租户ID”列是一个好习惯。 在表中没有依赖于核心业务对象的租户id列,因为它本身没有传达任何意义。

HTH

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM