Как я могу назначить разрешение конкретного пользователя:Yii2 - RBAC, разница между ролями и разрешениями
Роль
Permission A1
Permission A2
, как я могу сказать: если (Yii :: $ app-> user- > can ('A1')) {}
Как я могу назначить разрешение конкретного пользователя:Yii2 - RBAC, разница между ролями и разрешениями
Роль
Permission A1
Permission A2
, как я могу сказать: если (Yii :: $ app-> user- > can ('A1')) {}
Роль - это символическое значение, которое используется для указания поведения и набора действий (разрешений), связанных с этим поведением. Например, типичная роль - это то, что отличает администратора или пользователя, который может видеть только (наблюдателя).
Разрешение - это элементарный уровень действия, который разрешено делать. (например, редактирование, создание или удаление объекта).
Роль связана с пользователем.
Таким образом, пользователь-администратор связан с ролью администратора, в то время как другой пользователь, например, связан с ролью наблюдателей, а не с создателями или модификаторами.
Спасибо @scaisEdge за ваш ответ. Специально в yii2, можете ли вы рассказать мне, как я могу использовать пользователь (разрешения) внутри моего кода, чтобы проверить его доступ? ex: if (Yii :: $ app-> user-> can ('<имя_подписки>'), есть ли возможность использовать это или его применимое только для (ROLES)? –
Обычно я группирую набор разрешений (даже один) и проверить их на роль, поэтому я стараюсь контролировать доступ, основываясь на ролях, но вы можете попробовать напрямую контролировать доступ к одному разрешению. Синтаксис - это именно тот, который вы указали (Yii :: $ app-> User-> can ('admin'), где 'admin' является ролью (или вы также можете попробовать как разрешение) – scaisEdge