developeruz / yii2-db-rbac

Dynamic control of access rights in YII2
MIT License
110 stars 33 forks source link

При изменении permissions у роли, стираются наследования роль от роли #25

Closed noel-ykt closed 8 years ago

noel-ykt commented 8 years ago

Например у меня есть две роли "admin" и "user".

$roleAdmin = Yii::$app->authManager->getRole('admin');
$roleUser = Yii::$app->authManager->getRole('user');
Yii::$app->authManager->addChild($roleAdmin, $roleUser);
developeruz commented 8 years ago

Да, есть такое: https://github.com/developeruz/yii2-db-rbac/blob/master/controllers/AccessController.php#L91 Удаляются все связи, т.к если чекбокс с разрешением был ранее отмечен, а потом отметку убрали, отловить этот момент практически не возможно. Можно добавить префикс ко всем разрешениям, созданным через веб-интерфейс и удалять только их, но сейчас это поломает обратную совместимость с текущей версией. Вариант решения вашей проблемы: проверять в поведении приложения, есть ли связь (hasChild ) и восстанавливать ее если нет.

luciuz commented 8 years ago

Ждем версию 2.0, где не нужно будет заботиться о совместимости и все будет работать как нужно.

developeruz commented 8 years ago

Исправила, спасибо за терпение :)