Как и где создавать правила доступа Yii2 с помощью mdmsoft/yii2-admin

Привет, разработчики, я новичок в YII, я установил структуру YII2 и хочу RBAC. Я установил модуль mdmsoft/yii2-admin, но я не знаю, как создать класс RULE, где его создать и как использовать. Когда я создаю роль в разделе администратора, он говорит: введите имя класса. Я не знаю, как создать и использовать функцию RULE в YII. Я прикрепил снимок экрана.введите здесь описание изображения


person Mutahir Shah    schedule 25.08.2016    source источник
comment
Этот видеоурок о модуле yii2-admin поможет вам: youtube.com/watch? v=vLb8YATO-HU&t=1s   -  person Kostas Mitsarakis    schedule 04.12.2016
comment
хорошо, спасибо за ваш ответ.   -  person Mutahir Shah    schedule 19.12.2016


Ответы (1)


Если вы используете расширенный шаблон, выполните следующие действия.

  1. Создайте каталог под frontend и переименуйте его в rbac
  2. Создайте файл в этом новом каталоге, скажем, 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;
    }
}
  1. Следующий шаг — перейти к http://localhost/path/to/index.php?r=admin/rule и создать новое правило с именем класса \app\rbac\AuthorRule.
  2. Наконец, вы можете добавить новое правило в roles и permissions в зависимости от ваших потребностей.

Вы можете прочитать официальную документацию для получения дополнительной информации о правилах; официальные документы.

person Phemelo Khetho    schedule 24.04.2018
comment
Хотя эта ссылка может ответить на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если связанная страница изменится. – Из обзора - person Rob; 24.04.2018
comment
Это не дает ответа на вопрос. Получив достаточную репутацию, вы сможете /comment">прокомментировать любой пост; вместо этого дайте ответы которые не требуют разъяснений от спрашивающего. – Из обзора - person EM-Creations; 24.04.2018