私はCakePHPに次のプラグイン(https://github.com/CakeDC/users)を使用していますが、アクセス許可の取得方法を理解できません。私はすべての指示に従っていますが、authorize
はまったく使用されていないようです。誰かがそれを動作させる方法に関するヒントを持っているかどうか分かります。ここに私の設定です:CakePHP - CakeDCプラグインのアクセス許可が無効です
Configure::write('Users.config', ['users']);
Plugin::load('CakeDC/Users', ['routes' => true, 'bootstrap' => true]);
AppController.phpinitialize
機能
bootstrap.phpの
$this->loadComponent('CakeDC/Users.UsersAuth');
のconfig/users.php
$config = [
'Auth' => [
'authError' => 'Did you really think you are allowed to see that?'
]
];
return $config;
のconfig/permissions.php
return [
'Users.SimpleRbac.permissions' => [
[
'role' => '*',
'controller' => 'Pages',
'action' => ['display'],
'allowed' => true
], [
'role' => '*',
'controller' => 'Taxes',
'action' => ['*'],
'allowed' => true
], [
'role' => '*',
'prefix' => 'v1',
'controller' => '*',
'action' => '*',
'allowed' => true
]
]
];
return $config;
率直に言って、それは、CakePHPの設定の問題と思われるが、私はその問題がどこから来ている見つけることができないのです。デバッグでは正しいファイルがauthorize
にロードされていると表示されても、呼び出されないからです。
誠実な答えをありがとう。私はあなたがここで何をしたのかを見直します。私は私の質問にすべてのコードを追加することに失敗し、私はそれが私のものを反映するように更新しました。 –
私はあなたのC9セットアップを見直しました。それは私のものと似ています。あなたの 'permissions.php'ファイルで、' 'role' => 'user'、 'がホームページにアクセスすることを許可しています。あなたのスクリーンショットに基づいて、認証されていないユーザーへのアクセスを妨げています。私は '' role '=>' * '、 ''を持っていても私のアプリで同じ結果を見ます。あなたのアプリケーションの権限を ''role' => '*' 'に変更して、あなたがホームページを見ることができるかどうか、あるいはあなたが' 'ログイン'ページにあなたを送り続けるかどうかを教えてください。ありがとうございました! –
私は間違いなくSimpleRbacAuthorize.phpが、ユーザーがログインしていなければ、$ this-> Auth-> allow(['action'])を使わないようにすると考えていました。そうではありません。再度、感謝します! –