Yii2 авторизация и Роли

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Аватара пользователя
ElisDN
Сообщения: 5314
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Yii2 авторизация и Роли

Сообщение ElisDN » 2014.11.11, 18:40

BrusSENS писал(а):В yii1 через расширение CWebUser можно было получать роль юзера.
В Yii2 из поля role тоже похоже: http://sammaye.wordpress.com/2014/06/06 ... se-assign/

zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Yii2 авторизация и Роли

Сообщение zelenin » 2014.11.11, 19:26

ElisDN писал(а):
BrusSENS писал(а):В yii1 через расширение CWebUser можно было получать роль юзера.
В Yii2 из поля role тоже похоже: http://sammaye.wordpress.com/2014/06/06 ... se-assign/
что похоже?

Аватара пользователя
ElisDN
Сообщения: 5314
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Yii2 авторизация и Роли

Сообщение ElisDN » 2014.11.12, 19:25

zelenin писал(а):что похоже?
Делается получение роли без assignments.

zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Yii2 авторизация и Роли

Сообщение zelenin » 2014.11.12, 19:32

ElisDN писал(а):
zelenin писал(а):что похоже?
Делается получение роли без assignments.
аналогичный хак, как в yii1

Аватара пользователя
ElisDN
Сообщения: 5314
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Yii2 авторизация и Роли

Сообщение ElisDN » 2014.11.12, 19:35

zelenin писал(а):аналогичный хак, как в yii1
Я это и сказал. А в чём ваш вопрос?

zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Yii2 авторизация и Роли

Сообщение zelenin » 2014.11.12, 20:58

ElisDN писал(а):
zelenin писал(а):аналогичный хак, как в yii1
Я это и сказал. А в чём ваш вопрос?
вопрос я выше задал, т.к. фраза звучала неоднозначно. вы пояснили.

Аватара пользователя
VaNnOrus
Сообщения: 96
Зарегистрирован: 2014.10.09, 12:50

Re: Yii2 авторизация и Роли

Сообщение VaNnOrus » 2014.11.26, 15:38

ElisDN писал(а):
BrusSENS писал(а):В yii1 через расширение CWebUser можно было получать роль юзера.
В Yii2 из поля role тоже похоже: http://sammaye.wordpress.com/2014/06/06 ... se-assign/
Решил что лучше использовать assign в init DbManager'a.

И в коде из статьи ошибка. В getAssignments стоит параметр $userId, а роль берется из user->identity. Очевидно, что юзерИд в метод может подаваться любой, а роль будет браться у текущего пользователя.

zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Yii2 авторизация и Роли

Сообщение zelenin » 2014.11.26, 15:56

VaNnOrus писал(а):
ElisDN писал(а):
BrusSENS писал(а):В yii1 через расширение CWebUser можно было получать роль юзера.
В Yii2 из поля role тоже похоже: http://sammaye.wordpress.com/2014/06/06 ... se-assign/
Решил что лучше использовать assign в init DbManager'a.

И в коде из статьи ошибка. В getAssignments стоит параметр $userId, а роль берется из user->identity. Очевидно, что юзерИд в метод может подаваться любой, а роль будет браться у текущего пользователя.
в принципе вы правы, но getAssignments используется только в функции checkAccess, которая используется только в функции User::can и только для текущего юзера.
Не думаю, что можно придумать кейс для использования getAssignments для нетекущего юзера

Аватара пользователя
VaNnOrus
Сообщения: 96
Зарегистрирован: 2014.10.09, 12:50

Re: Yii2 авторизация и Роли

Сообщение VaNnOrus » 2014.11.26, 16:45

zelenin писал(а):
VaNnOrus писал(а): Решил что лучше использовать assign в init DbManager'a.

И в коде из статьи ошибка. В getAssignments стоит параметр $userId, а роль берется из user->identity. Очевидно, что юзерИд в метод может подаваться любой, а роль будет браться у текущего пользователя.
в принципе вы правы, но getAssignments используется только в функции checkAccess, которая используется только в функции User::can и только для текущего юзера.
Не думаю, что можно придумать кейс для использования getAssignments для нетекущего юзера
"Отображение страницы с правами юзера х"

zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Yii2 авторизация и Роли

Сообщение zelenin » 2014.11.26, 16:54

VaNnOrus писал(а):
zelenin писал(а):
VaNnOrus писал(а): Решил что лучше использовать assign в init DbManager'a.

И в коде из статьи ошибка. В getAssignments стоит параметр $userId, а роль берется из user->identity. Очевидно, что юзерИд в метод может подаваться любой, а роль будет браться у текущего пользователя.
в принципе вы правы, но getAssignments используется только в функции checkAccess, которая используется только в функции User::can и только для текущего юзера.
Не думаю, что можно придумать кейс для использования getAssignments для нетекущего юзера
"Отображение страницы с правами юзера х"
учитывая что ассайнментсы мы получаем не все, а только один и равный роли, то достаточно поменять динамически себе роль.

Аватара пользователя
VaNnOrus
Сообщения: 96
Зарегистрирован: 2014.10.09, 12:50

Re: Yii2 авторизация и Роли

Сообщение VaNnOrus » 2014.11.26, 17:01

zelenin писал(а): учитывая что ассайнментсы мы получаем не все, а только один и равный роли, то достаточно поменять динамически себе роль.
Почему это мы не получаем все права? Это же не getAssignment, а getAssignments. Роль у юзера может быть и не одна, да еще и пермишены индивидуальные. Все это вернется.

zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Yii2 авторизация и Роли

Сообщение zelenin » 2014.11.26, 17:04

VaNnOrus писал(а):
zelenin писал(а): учитывая что ассайнментсы мы получаем не все, а только один и равный роли, то достаточно поменять динамически себе роль.
Почему это мы не получаем все права? Это же не getAssignment, а getAssignments. Роль у юзера может быть и не одна, да еще и пермишены индивидуальные. Все это вернется.
так в код функции посмотрите http://sammaye.wordpress.com/2014/06/06 ... se-assign/

Аватара пользователя
VaNnOrus
Сообщения: 96
Зарегистрирован: 2014.10.09, 12:50

Re: Yii2 авторизация и Роли

Сообщение VaNnOrus » 2014.11.26, 17:08

zelenin писал(а):
VaNnOrus писал(а):
zelenin писал(а): учитывая что ассайнментсы мы получаем не все, а только один и равный роли, то достаточно поменять динамически себе роль.
Почему это мы не получаем все права? Это же не getAssignment, а getAssignments. Роль у юзера может быть и не одна, да еще и пермишены индивидуальные. Все это вернется.
так в код функции посмотрите http://sammaye.wordpress.com/2014/06/06 ... se-assign/
Так я сразу и сказал, что его неправильно переопределять, иначе теряется куча возможностей рбака.

Ответить