Я установил модули dektrium \ user и dektrium \ rbac \ для управления пользователями и контролем доступа. Полностью установлены таблицы и файлы, и я вижу несколько вкладок в пути / user / admin (Users, Roles, Permissions, Rules, Create)для работы с модулями. Я могу отлично управлять пользователями (создать пользователя, сбросить пароль, отредактировать, ..). купить я не могу создать правило. Я создал класс в папке app \ rbac \ rules с именем AuthorRule:
<?php
namespace app\rbac\rules;
use yii\rbac\Rule;
use app\models\News;
/**
* Checks if authorID matches user passed via params
*/
class AuthorRule extends Rule
{
public $name = 'isAuthor';
/**
* @param string|int $user the user ID.
* @param Item $item the role or permission that this rule is associated with
* @param array $params parameters passed to ManagerInterface::checkAccess().
* @return bool a value indicating whether the rule permits the role or permission it is associated with.
*/
public function execute($user, $item, $params)
{
return isset($params['news']) ? $params['news']->createdBy == $user : false;
}
}
(я создал класс новостей с моделью, контроллером, представлениями), но когда я ввел имя и правило класса в свои модули. Ни данные не зарегистрированы, ни сообщение об ошибке. Я не могу добавить остальные разделы, пока не войду в правило.
![enter image description here](https://i.stack.imgur.com/juRY6.png)