モデルのセキュリティロジックを扱うコードを混在させるのは悪い設計ですか?現在のユーザがコントローラ層内current_user
方法から取得さbefore_saveコールバックセキュリティロジックとRuby on Railsのモデルを混在させる?
- でページを編集するため
例。
- スロー例外
current_user.has_permission? :edit_page
が偽 - ある場合
editor_id
は変更がモデルは、アプリケーション内の唯一のセキュリティチェックではない別のテーブルに
をログに記録されcurrent_user.id
注:モデルレベルとコントローラレベルの間の唯一の違反は、current_user
メソッドです。私が取り組んでいるアプリケーションは匿名ユーザーを許可しません。