私の教育では、実際のプライマリキー(DBキーだけでなく、すべてのプライマリアクセサー)をユーザーに公開することは欠陥のあるアイデアであると言われました。
私はいつもそれをセキュリティの問題だと思っていました(攻撃者が自分のものではないものを読もうとする可能性があるため)。
ユーザーがとにかくアクセスを許可されているかどうかを確認する必要があるので、その背後に別の理由がありますか?
また、とにかくユーザーがデータにアクセスする必要があるため、その間のどこかに外部の公開キーが必要になります。公開キーには主キーと同じ問題がありますよね?
とにかくそれを行う理由についての例の要求があったので、ここに1つがあります。質問は、この例に当てはまる場合だけでなく、原則自体に関するものであることを忘れないでください。他の状況に対処する回答は明示的に歓迎されます。
アクティビティを処理し、複数のUIとシステム間通信用の少なくとも1つの自動APIを備えたアプリケーション(Web、モバイル)アプリケーションには複数の顧客がいるため、データの分離(論理的には、データは同じDBに格納されます)はシステムに必要です。各リクエストは、どのような場合でも有効性がチェックされます。
アクティビティは非常に細かいので、いくつかのコンテナオブジェクトにまとめられ、「タスク」と呼びます。
3つのユースケース:
- ユーザーAは、ユーザーBを何らかのタスクに送りたいので、ユーザーBにリンク(HTTP)を送信して、そこでアクティビティを実行させます。
- ユーザーBは建物の外に出て、モバイルデバイスでタスクを開く必要があります。
- アカウンティングは顧客にタスクの料金を請求したいが、REST-アプリケーションのAPIを参照するコードによってタスク/アクティビティを自動的にロードするサードパーティの会計システムを使用する
各ユースケースでは、エージェントがタスクとアクティビティのアドレス可能な識別子を持っていることが必要です(または、より簡単になります)。
ON UPDATE CASCADE
そのために作られた、問題はセキュリティである場合は、アクセスチェックがバックエンドにする必要がありますし、とにかくユーザーを信用していないが(mysqlの具体的な?)