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 からプロジェクト データを取得し、現在のユーザーがプロジェクトを所有しているかどうかを確認することで、検証ロジックを作成できますが、より一般的なソリューションが必要です。また、これは挿入のみの問題であることに注意してください。何かご意見は ?