私は CakePHP の認証および承認コンポーネントの使用をとても楽しんでおり、自分が置かれている状況に合わせてカスタム コンポーネントを作成しました。
私の問題は、現在 2 つのレベルの承認が必要であるという事実に起因しています。
私のAppControllerでは、次のように承認が構成されています
public $components = array(
"Auth" => array(
'authorize' => array('controller','App'),
)
);
「App」はカスタム AppAuthorize コンポーネントにリンクし、「controller」は ControllerAuthorize コンポーネントを呼び出します。
これらの各コンポーネントは個別に非常にうまく機能しますが、その相互作用が問題を引き起こしています。
問題は、コントローラーの承認 (isAuthorized() による) が true を返す場合、2 番目のコンポーネントがチェックされないことです。逆に、コントローラーの承認が false を返す場合、AppAuthorize がチェックされます。
私が望んでいるのは、両方が常にチェックされることです。現在返されている論理 OR ではなく、2 つの応答の論理 AND を返します。
誰かがこれを回避する方法のアイデアを持っていますか、それともケーキの承認コンポーネントを介してこれが可能かどうか?
ありがとう
ロブ