rbac авторизация

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
penwon
Сообщения: 16
Зарегистрирован: 2014.06.28, 00:02

rbac авторизация

Сообщение penwon »

Доброго времени суток. Извините, если этот вопрос уже задавали.
Никак не могу разобраться, каким образом нужно делать проверку авторизации пользователя в базе?
Аватара пользователя
ifelse
Сообщения: 227
Зарегистрирован: 2013.02.05, 13:05

Re: rbac авторизация

Сообщение ifelse »

Как я понял, вам нужно разобраться с этим: https://github.com/yiisoft/yii2/blob/ma ... ault-roles
penwon
Сообщения: 16
Зарегистрирован: 2014.06.28, 00:02

Re: rbac авторизация

Сообщение penwon »

Там описывается авторизация на основе PhpManager, а мне нужно на основе DbManager
Аватара пользователя
VaNnOrus
Сообщения: 96
Зарегистрирован: 2014.10.09, 12:50

Re: rbac авторизация

Сообщение VaNnOrus »

Если б Вам не было лень почитать названия тем - мог ли бы найти вот эту активную тему с обсуждением сабжа.

Ставьте модуль yii2-admin.
С интерфейсом у него, правда, какие-то проблемы.
Права нужно создавать начиная со "/", напр. "/site/index". Но тогда они пропадают из интерфейса модуля. Зато проверка начинает работать. Мб разработчик исправит этот баг.
penwon
Сообщения: 16
Зарегистрирован: 2014.06.28, 00:02

Re: rbac авторизация

Сообщение penwon »

Как то быстро меня здесь раскусили в ленивости :)
Тему то видел, но разве обязательно при использовании yii2 устанавливать какие то модули. Мне, для лучшего понимания работы фреймворка, хочется написать авторизацию без использования модулей.
Используя это http://stackoverflow.com/questions/2579 ... r-database и "advanced app" дописал свою модель User и добавил в неё методы для авторизации.
Вопрос теперь такой. Как мне узнать, какие методы обязательно нужно доопределить в модели User, а какие можно пропустить?
Аватара пользователя
VaNnOrus
Сообщения: 96
Зарегистрирован: 2014.10.09, 12:50

Re: rbac авторизация

Сообщение VaNnOrus »

penwon писал(а):Как то быстро меня здесь раскусили в ленивости :)
Тему то видел, но разве обязательно при использовании yii2 устанавливать какие то модули. Мне, для лучшего понимания работы фреймворка, хочется написать авторизацию без использования модулей.
Используя это http://stackoverflow.com/questions/2579 ... r-database и "advanced app" дописал свою модель User и добавил в неё методы для авторизации.
Вопрос теперь такой. Как мне узнать, какие методы обязательно нужно доопределить в модели User, а какие можно пропустить?
Никакие. Использование rbac вообще не предполагает каких-то исправлений в модели пользователей. Он работает отдельно.

Модули можно и не ставить, но с ними проще. Нет смысла городить свой велосипед, например, с хранением ролей в бд и их присвоением с использованием этой самой таблицы пользователей, когда это реализовано товарищем Zelenin.
Но и городить велосипеды, в принципе, никто не мешает.
Достаточно в настройках приложения задать authManager. Первым ответом Вам дали ссылку, разницы никакой нет на файлах рбак или в базе. В ауч менеджере будут просто использоваться разные классы.
Прочитайте тему, на которую я дал ссылку, с самого начала, там vova07 подробно рассказывает о том, что я в кратце описал.
Аватара пользователя
bupy7
Сообщения: 57
Зарегистрирован: 2014.03.10, 14:40
Контактная информация:

Re: rbac авторизация

Сообщение bupy7 »

Всё точно так же, как в Yii1. Как по мне, дак стало меньше телодвижений.
Очень плохие и совсем бесполезные расширения: http://github.com/bupy7
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: rbac авторизация

Сообщение samdark »

DbManager от PhpManager не отличается вообще ничем кроме его внутренней работы с базой, а не с файлами.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: rbac авторизация

Сообщение samdark »

Всё не точно как в 1.1.
Аватара пользователя
maleks
Сообщения: 1985
Зарегистрирован: 2012.12.26, 12:56

Re: rbac авторизация

Сообщение maleks »

ё мое, опять не могу найти ссылку "В закладки", скоро самому роли в своей цмс ваять, надо почитать какими вы тут ссылками кидались.
Yii2 universal module sceleton - for basic and advanced templates
penwon
Сообщения: 16
Зарегистрирован: 2014.06.28, 00:02

Re: rbac авторизация

Сообщение penwon »

Ну для авторизации с помощью DbManager пришлось же делать "implements \yii\web\IdentityInterface " в модели пользователя. Но я почему не наткнулся на это в документации. Неужели невнимательно смотрел?
Аватара пользователя
chungachguk
Сообщения: 435
Зарегистрирован: 2012.07.17, 11:52

Re: rbac авторизация

Сообщение chungachguk »

penwon писал(а):"implements \yii\web\IdentityInterface " в модели пользователя
необходимо для аутентификации и к авторизации через rbac отношения не имеет
penwon
Сообщения: 16
Зарегистрирован: 2014.06.28, 00:02

Re: rbac авторизация

Сообщение penwon »

chungachguk писал(а):
penwon писал(а):"implements \yii\web\IdentityInterface " в модели пользователя
необходимо для аутентификации и к авторизации через rbac отношения не имеет
Значит я не совсем правильно сформулировал свою мысль в силу своего незнания. Но ведь одного без другого не будет.
Читал вот это http://www.yiiframework.com/doc-2.0/gui ... ation.html а надо было вот это http://www.yiiframework.com/doc-2.0/gui ... ation.html
Я правда не понял почему разделены статьи эти. Но они недопипасаны ещё, может что то поменяется.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: rbac авторизация

Сообщение samdark »

Почему? Будет. Аутентифицироваться при помощи IdentityInterface можно без RBAC.

Разделены потому как аутентификация != авторизация. Аутентификация — проверка того, что пользователь тот, кем назвался. То есть проверка логина и пароля. Авторизация — проверка того, что пользователь имеет достаточно прав для какого-либо действия.
Аватара пользователя
VaNnOrus
Сообщения: 96
Зарегистрирован: 2014.10.09, 12:50

Re: rbac авторизация

Сообщение VaNnOrus »

penwon писал(а):Я правда не понял почему разделены статьи эти.
Чтобы понять достаточно было заглянуть в википедию (хотя бы) и посмотреть значение слов "авторизация" и "аутентификация".

Не нужно было самому писать модель user, в advanced шаблоне уже есть пригодная для использования модель.
В начале Вы сказали, что использовали advanced шаблон и написали свою модель User. Не понимаю тогда почему у Вас не было там имплементации интерфейса изначально.

Как сказал Александр - аутентификация прекрасно себе работает без rbac. Это можно лицезреть зарегистрировавшись в приложении сразу после установки и залогинившись под только что созданным пользователем - аутентификация работает.
penwon
Сообщения: 16
Зарегистрирован: 2014.06.28, 00:02

Re: rbac авторизация

Сообщение penwon »

Sam Dark писал(а): Разделены потому как аутентификация != авторизация.
Всегда эти термины приравнивал друг к другу почему то. Благодарствую за разъяснения.
VaNnOrus писал(а):
penwon писал(а):Я правда не понял почему разделены статьи эти.
Не нужно было самому писать модель user, в advanced шаблоне уже есть пригодная для использования модель.
В начале Вы сказали, что использовали advanced шаблон и написали свою модель User. Не понимаю тогда почему у Вас не было там имплементации интерфейса изначально.
Почему не нужно, очень даже нужно для того, чтобы лучше разобраться. Своя модель была сделана в basic app используя advanced app. Имплементация была взять из adv app, но я не мог найти поясняющую информацию в документации, т.к. подменял в своём сознании термины "аутентификация" и "авторизация". Теперь разобрался.
Ответить