コントローラーの関数で承認ロジックを処理しながらAuthComponent
、コントローラーの承認を使用して、CakePHP で基本的な役割ベースの承認メカニズムを実装しようとしています。isAuthorized()
ここまでは順調ですね。
私が望むのは、ユーザーがすでにログインしている場合にリダイレクトを停止することです.
例: ログインしたユーザーが/posts/edit/2にアクセスしようとします。ユーザーは所有者ではないため、この投稿を編集する権限がありません。CakePHP が自動的にログインページにリダイレクトするのを止めるにはどうすればよいですか? 私は、ユーザーに401または403を投げたいだけです。( 401の方が適切だと思いますが)。関数で a を実行したり、 aをredirect()
スローしたりできます。しかし、これはこれを処理するためのクリーンな方法ではないと思います。そして、それは私の機能も壊します。UnauthorizedException
isAuthorized()
parent::isAuthorized();
誰かが以前にこの状況を処理したことがあり、これをうまくクリーンな方法で実装する方法を教えてくれることを願っています.