CakePHPでの作業は、これが私の状況です。
私にはユーザーとがいますOrder
。Order
sはユーザーによって作成されます。を作成したユーザーのみがOrder
編集できます。(管理者もできますが、それは重要ではないと思います)。
標準のAuthコンポーネントを使用しており、OrdersControllerにisAuthorized関数があり、ユーザーがログインしているかどうかを確認し、ユーザーが実行を許可されていないアクションを実行できないようにします。
渡されたパラメータとデータベースから出力されるデータに基づいて、ユーザーがアクションを実行できるかどうかを判断したいと思います。つまり、ユーザーは編集しようとしている注文を所有していますか?これが当てはまる場合、私は現在、各アクションの内部をチェックしています。
isAuthorizedからfalseを返すことによってトリガーされるのと同じワークフローをトリガーする方法はありますか?多分例外を投げますか?
渡されたパラメータにアクセスするための醜いメソッドとデータ取得の重複が必要になるため、isAuthorized関数内でこれらのより細かいチェックを実行したくありません。CakePHPは私がこれを処理することをどのように期待していますか?
(他のコントローラーで行うより複雑なチェックがあります)