Плагин CakeDC Users не читает permissions.php - PullRequest
0 голосов
/ 03 ноября 2019

Я пытаюсь использовать cakeDC Users-Plugin 8.5.1 в cakephp 3.8, но все, что я получаю, это сообщение «вам не разрешен доступ к этому местоположению». Я использую простой RBAC, следуя инструкции согласно документации на github. кажется, что config / permissions.php не читается, потому что, когда я пишу какой-то плохой синтаксис в этом файле, ничего не меняется - никаких сообщений об ошибках. вместо этого то же самое поведение «вам не разрешено…»

Вот что я сделал: я использовал composer для установки плагина. Поскольку я использую cakephp 3.8, плагин добавляется в Application.php.

В инициализированном AppController.php () я вставил

$config['Auth']['authorize']['Users.SimpleRbac'] = [
        //autoload permissions.php
        'autoload_config' => 'permissions',
        //role field in the Users table
        'role_field' => 'role',
        //default role, used in new users registered and also as role matcher when no role is available
        'default_role' => 'user',
        /*
         * This is a quick roles-permissions implementation
         * Rules are evaluated top-down, first matching rule will apply
         * Each line define
         *      [
         *          'role' => 'admin',
         *          'plugin', (optional, default = null)
         *          'controller',
         *          'action',
         *          'allowed' (optional, default = true)
         *      ]
         * You could use '*' to match anything
         * Suggestion: put your rules into a specific config file
         */
        'permissions' => [], 
    ];

Для таблицы пользователей у меня есть собственная таблица обновлений, которая содержит столбцы, в которых нуждается плагин. Поэтому в моем UprofilesController.php я добавил код для использования признаков, которые поставляются с плагином.

В config / users.php я изменил имя таблицы на «uprofiles» и имя контроллерав "Uprofiles". Часть Auth в users.php:

'Auth' => [
        'loginAction' => [
            'plugin' => 'CakeDC/Users',
            'controller' => 'Users',
            'action' => 'login',
            'prefix' => false
        ],
        'authenticate' => [
            'all' => [
                'finder' => 'auth',
            ],
            'CakeDC/Auth.ApiKey',
            'CakeDC/Auth.RememberMe',
            'Form',
        ],
        'authorize' => [
            'CakeDC/Auth.Superuser',
            'CakeDC/Auth.SimpleRbac',
        ],
    ],

Что не так? Кто-нибудь может мне помочь? Я также попытался настроить суперпользователя с помощью инструмента Bake. Это не сработало.

Error: [BadMethodCallException] Unknown method "generateUniqueUsername" in .../vendor/cakephp/cakephp/src/ORM/Table.php on line 2524

Спасибо за помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...