Как и где создавать правила доступа Yii2 с помощью mdmsoft/yii2-admin
Привет, разработчики. Я новичок в YII, я установил фреймворк YII2 и хочу RBAC. Я установил модуль mdmsoft/yii2-admin, но я не знаю, как создать класс RULE, где его создать и как его использовать. Когда я создаю роль в разделе администратора, там говорится, введите имя класса. Я не знаю, как создать и использовать функцию ПРАВИЛА YII. Я приложил снимок экрана.
0 ответов
Если вы используете расширенный шаблон, вот шаги:
- Создайте каталог в
frontend
и переименуйте егоrbac
- Создайте файл в этом новом каталоге, скажем,
AuthorRule.php
. Вот пример файла из официальных документов;
namespace app\rbac; use yii\rbac\Rule; use app\models\Post; /** * 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['post']) ? $params['post']->createdBy == $user : false; } }
- Следующий шаг - перейти к
http://localhost/path/to/index.php?r=admin/rule
и создайте новое правило с именем класса\app\rbac\AuthorRule
- Наконец, вы можете добавить новое правило в
roles
а такжеpermissions
в зависимости от ваших потребностей.
Вы можете прочитать официальную документацию для получения дополнительной информации о правилах; официальные документы.