これは基本的な質問ですが、 。通常、ユーザーがデータベースを更新しようとすると、そのユーザー名をユーザー表のキーとして使用し、そのユーザーのすべての操作を基にします。しかし、私はちょっと気が利いたユーザーが別のユーザー名を使ってクエリを送信して、この弱い形のエンタイトルメントを回避することができるかもしれないことに気がつきました。だから私の質問は本当に、ユーザーが潜在的に別のユーザーIDのデータベースに対して破壊的なアクションを提出するのを防ぐ方法ですか?データベースのレコードを更新/挿入/削除できるようにする方法
0
A
答えて
2
セッション内に現在のユーザーのIDを格納する必要があります。これは簡単には操作できません。
私は通常、ユーザオブジェクト上の関係を通じてオブジェクトを参照:
current_user.fragile_records.find(params[:id]).destroy
これは、所有権のテストを行うための読みやすいと簡単な方法です。
http://guides.rubyonrails.org/security.htmlは、驚くほどよく読まれます。
Railsにはmaintaining user identity (authentication)とensuring user has clearance for an action (authorization)の多くのレディメイドソリューションがあります。
関連する問題
- 1. データベースの挿入、更新、削除中にレコードを削除する方法PHPを使用しているMYSQLのテーブルを更新する
- 2. akavacheリストオブジェクトのアイテムを更新/挿入/削除する方法は?
- 3. データベースに値を挿入中にレコードを削除する
- 4. StreamingAssetsからデータベースを選択、挿入、削除、および更新する
- 5. postgresqlの更新/挿入と削除によってデータベースをコピーします。
- 6. UITableViewでレコードを追加、更新、削除する方法は?
- 7. フラスコ:データベースの挿入、削除、更新後のポストデータ
- 8. 同様のレコードを挿入しようとするとdbのレコードを更新する方法は?
- 9. Laravel mysqlの挿入+削除または更新方法?
- 10. SQL Serverトリガーで挿入、更新、削除された行をコピーする方法
- 11. asp.netを使用してエンティティフレームワークで挿入、更新、削除する方法は?
- 12. WPF DataContextのSQL更新、削除、挿入
- 13. 挿入/更新/削除後のsqlalchemyフラスコ
- 14. DataGridViewの更新/削除/挿入
- 15. Androidの挿入/更新/削除SQLiteクエリ
- 16. Oracleの代わりに(更新&挿入)の手順を(削除&挿入)する方法
- 17. mongodbを使用してc#.netアプリケーションを挿入、更新、削除する方法
- 18. django.db.utils.IntegrityError:レコードを削除するときにテーブルの更新または削除
- 19. SwiftのSQLite:レコードを挿入、更新、削除することができません。
- 20. CountDownを作成するデータベースにレコードを挿入して更新する日数
- 21. Asp.netの詳細ビューを使用してMYSQLデータベースにレコードを挿入、削除、編集する方法
- 22. エンティティフレームワーク同じトランザクション中に挿入、更新、削除する
- 23. 更新/削除クエリでASPNETDB.MDFのテーブルレコードを更新/削除する方法
- 24. レコードの挿入/削除の異常
- 25. 新しいレコードを削除してDBにリフレッシュせずに挿入する
- 26. インナー・ジョインでデータベース・レコードを挿入する方法
- 27. データベースにレコードを挿入するには
- 28. dao層のmybatisを使用して挿入/更新/削除を行う前にオブジェクトを検証する方法
- 29. ASPNETDB.MDF 'vw_aspnet_MembershipUsers'の更新/削除方法は?更新する方法
- 30. PHPでデータベースからレコードを削除する方法
素晴らしい!リンクありがとう! – ennuikiller