0

すべてのユーザーがすべてのデータを表示できるわけではない Web サービスを構築したいと考えています。そのため、マルチテナント方式でデータを保存する必要があります。

簡単な例: 自動車ディーラー。

ディーラー

  • ID
  • 名前
  • ユーザー名

  • ID
  • 名前
  • deal_id (所有者)

ここで、ディーラーはget_my_cars自分のユーザー資格情報を使用して Web サービスを呼び出し、自分が所有する車のみを表示する必要があります。何かのようなもの:

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 クエリに入れるにはどうすればよいでしょうか? それとも、ここで何かひどく間違ったことをしていますか? 他にどのようにデータをフィルタリングして、全員が自分のデータのみを表示できるようにしますか?

返信ありがとうございます。

4

1 に答える 1

0

あなたのユースケースはマルチテナントのユースケースではありません。必要なのは、Web サービス (データサービス) を作成し、usernametoken/basicauth で保護することです。ユーザーが資格情報を使用してそのサービスを呼び出した場合、データベースにクエリを実行して結果を返す必要があります。シンプルで安全な Web サービスが必要です。

于 2013-03-25T18:29:21.267 に答える