Роль для незалогиненных пользователей
-
- Сообщения: 3
- Зарегистрирован: 2017.07.16, 11:39
Роль для незалогиненных пользователей
Использую RBAC на основе DBManager. Мне нужно для незалогиненных пользователей установить роль, которая хранится со всеми разрешениями в базе данных. Читал документацию про defaul roles, но как я понял, это для залогиненных пользователей. Каким образом можно назначить роль для незалогинненых пользователей?
Re: Роль для незалогиненных пользователей
делается роль с правилом проверяющим что незалогинен и выставляется в default roles
Re: Роль для незалогиненных пользователей
Вот до сих пор не могу понять в каком случае нужна эта роль "по умолчанию" для не залогиненых пользователей? Ведь такие пользователи - гости. А гостям можно все, что не запрещено. А не запрещено все, где нет проверки ->can('success') либо такая проверка успешно пройдена. Кто бы разъяснил для чего нужна роль по умолчанию.
Осторожно! Вы общаетесь с новичком
Re: Роль для незалогиненных пользователей
Эта роль нужна чтобы работать с ней из админки, присваивать ей разрешения.
Например можно этой роли присвоить разрешение "Оставлять комментарии" в блоге.
Также само достаточно это разрешение у роли снять и гости не смогут комментить.
Например можно этой роли присвоить разрешение "Оставлять комментарии" в блоге.
Также само достаточно это разрешение у роли снять и гости не смогут комментить.
-
- Сообщения: 3
- Зарегистрирован: 2017.07.16, 11:39
Re: Роль для незалогиненных пользователей
Я делаю от обратного: "запрещено все что явно не разрешено". Соответственно нужно присвоить роль гостям(обычным незалогиненым пользователям) с доступом к определенным модулям/контроллерам/действиям, гибко настроить доступ через DBManager, а не в каждом действии писать ->can('success'). Я делаю RBAC похожий на вот это расширение: https://github.com/developeruz/yii2-db-rbac, но там есть свои минусы... Есть вариант для пользователей разрешить прописав жестко в коде 'rules' => ' ', но опять идет привязка к коду. Мне же нужно все сделать через БД.girmate писал(а): ↑2017.07.17, 13:11 Вот до сих пор не могу понять в каком случае нужна эта роль "по умолчанию" для не залогиненых пользователей? Ведь такие пользователи - гости. А гостям можно все, что не запрещено. А не запрещено все, где нет проверки ->can('success') либо такая проверка успешно пройдена. Кто бы разъяснил для чего нужна роль по умолчанию.
-
- Сообщения: 3
- Зарегистрирован: 2017.07.16, 11:39
Re: Роль для незалогиненных пользователей
Можно поподробнее?
Насколько я понял... Мне нужно наследоваться от класса Rule и переопределить метод execute() на свой метод, который будет возвращать роль для незалогининного пользователя? Или я неверно понял?
Re: Роль для незалогиненных пользователей
Ну в доках же написано как свои правила делать:
http://www.yiiframework.com/doc-2.0/gui ... sing-rules
А внутри проверяете чтобы текущий пользователь был гостем
http://www.yiiframework.com/doc-2.0/gui ... sing-rules
А внутри проверяете чтобы текущий пользователь был гостем