我想构建一个Web服务,而不是每个用户都能看到所有数据。因此,我需要以多租户的方式存储数据。
简单示例:汽车经销商。
经销商
- ID
- 名称
- 用户名
车
- ID
- 名称
- dealer_id(拥有者)
现在,经销商用他的用户凭证呼叫get_my_cars
网络服务,并且应该只看到他拥有的汽车。类似的东西:
SELECT car.id, car.name
FROM car
JOIN dealer ON car.dealer_id = dealer.id
WHERE dealer.username = %CURRENT_WEBSERVICE_USER%
但是如何将%CURRENT_WEBSERVICE_USER%
变量放入MySQL查询?或者我在这里做了一些可怕的错事?你怎么过滤数据所以每个人只能看到他自己的数据?
感谢您的回复!
答案 0 :(得分:0)
您的用例不是多租户用例。您需要的是编写Web服务(dataservice)并使用usernametoken / basicauth保护它。当用户使用其信用卡调用该服务时,您需要查询数据库并返回结果。您需要简单安全的网络服务。