0

Project(id, name, userId) テーブルと Activity テーブル (id, title, description, project_id) があります。project_id は Project テーブルの id を指す外部キーです。プロジェクト データは、それを作成したユーザーのみがアクセスできます。

これで、特定のプロジェクトの新しいアクティビティを作成するために REST Api が公開されました。

方法: ポスト

本文 { "title" : "テスト活動", "description" : "テストの説明", "project_id" : "123"

}

Web アプリケーションによって消費されます。ただし、もちろん、外部 REST クライアントでも使用できます。

問題: 「プロジェクト P」を作成していないユーザーは、上記の Rest 呼び出しで「プロジェクト P」の ID を指定することにより、「プロジェクト P」にアクティビティを追加できます。これを未然に防ぎたい。特定のプロジェクト ID からプロジェクト データを取得し、現在のユーザーがプロジェクトを所有しているかどうかを確認することで、検証ロジックを作成できますが、より一般的なソリューションが必要です。また、これは挿入のみの問題であることに注意してください。何かご意見は ?

4

1 に答える 1

0

ユーザーが所有するプロジェクトをフェッチするロジックを作成してから、現在のユーザーが自分のプロジェクトにアクセスしているかどうかを検証してみてください。

于 2014-01-31T21:47:28.527 に答える