次のように、Cake 2.2.4 で ACL (グループレベルのみ) を実装しました。
Group.1はコントローラにアクセスできます
Group.2はコントローラー/採用担当者にアクセスできます
Group.3はコントローラー/求職者にアクセスできます
これはすべて正常に機能しますが、問題は、Group.2の誰かがコントローラー/求職者の何かにアクセスしようとしたときに、アクセス権$this->Session->flash('auth')
がないことを伝えるメッセージを表示することです。メッセージを設定したり、要素を介して生成された HTML をカスタマイズしたりできるなど、Flash メッセージを非常に多く制御できるため、これはある程度は問題ありません。
しかし、アプリのユーザーは、同じページが単純に更新されてエラーが発生するのは直感に反すると不満を漏らしています。これは主に、アプリが場合によっては 1 人のユーザーがGroup.2とGroup.3に所属できるようにする必要があるためです。そのため、フラッシュ メッセージはユーザーにアカウントを「アップグレード」して両方のグループに所属させる方法を伝える必要があります。
このため、「アカウントの更新」フォームを含む新しいコントローラー アクションへの即時リダイレクトは、フォームへのリンクを含むフラッシュ メッセージやフォームが埋め込まれた (緊急) フラッシュ メッセージよりも直感的であると感じられますか?その中に(もう一度!)
問題は、ユーザーをリダイレクトする方法が思いつかないことです