как происходит авторизация???

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

как происходит авторизация???

Сообщение 3ton »

Интересует в какой последовательности происходит авторизация.

Необходимо врезаться в процесс авторизации и по WSDL авторизовать клиента с центрального сервера сервиса на одном из клиентских приложений выполненных на Yii2.
Aibolit
Сообщения: 31
Зарегистрирован: 2012.12.18, 23:38

Re: как происходит авторизация???

Сообщение Aibolit »

Я бы сказал, что это аутентификация :)
3ton
Сообщения: 61
Зарегистрирован: 2009.06.30, 16:35

Re: как происходит авторизация???

Сообщение 3ton »

futbolim писал(а):

Код: Выделить всё

Yii::$app->user->login()
https://github.com/yiisoft/yii2/blob/ma ... r.php#L232

Это Вы мне показали магию которой я скармливаю юзера после того как признал что его пароль соответствует его логину.

В самой сути я уже разобрался, ранее то что мы делали в UserIdentity (находилось в компонентах), теперь делается в модели формы логина, по ходу именно там мне и нужно вклинивать свои wsdl запросы.
poohbinar
Сообщения: 28
Зарегистрирован: 2012.12.26, 16:58

Re: как происходит авторизация???

Сообщение poohbinar »

подпишусь под вопрос про Identity. Тоже с этим не первый день бьюсь. Не получается сделать разные авторизации на разных поддоменах
3ton
Сообщения: 61
Зарегистрирован: 2009.06.30, 16:35

Re: как происходит авторизация???

Сообщение 3ton »

в момент логина мне нужно сохранить запись в лог, в каком месте ее лучше всего создавать учитывая что аутентификация может происходить не только через форму логина
Aibolit
Сообщения: 31
Зарегистрирован: 2012.12.18, 23:38

Re: как происходит авторизация???

Сообщение Aibolit »

3ton писал(а):...учитывая что аутентификация может происходить не только через форму логина
События beforeLogin, afterLogin срабатывают и при автоматической аутентификации.
3ton
Сообщения: 61
Зарегистрирован: 2009.06.30, 16:35

Re: как происходит авторизация???

Сообщение 3ton »

Aibolit писал(а):
3ton писал(а):...учитывая что аутентификация может происходить не только через форму логина
События beforeLogin, afterLogin срабатывают и при автоматической аутентификации.
Если говорим про модель User - срабатывания afterLogin не происходит
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: как происходит авторизация???

Сообщение zelenin »

3ton писал(а):
Aibolit писал(а):
3ton писал(а):...учитывая что аутентификация может происходить не только через форму логина
События beforeLogin, afterLogin срабатывают и при автоматической аутентификации.
Если говорим про модель User - срабатывания afterLogin не происходит
как не происходит? при любом логине используется User::login()
3ton
Сообщения: 61
Зарегистрирован: 2009.06.30, 16:35

Re: как происходит авторизация???

Сообщение 3ton »

futbolim писал(а):

Код: Выделить всё

Yii::$app->user->login()
и
zelenin писал(а):User::login()
на сколько вижу не одно и тоже...

взяты сурсы advanced-template

произвожу логин через форму логина
добавил в модель User метод afterLogin() и тупо делаю die('line:'.__LINE__); но вывода этой строки не получаю в момент логина, вместо этого все нормально отрабатывает и пропускает данный метод, в логах тоже ничего не вываливается, ощущение что он туда просто не заходит

ЧЯДНТ???
Aibolit
Сообщения: 31
Зарегистрирован: 2012.12.18, 23:38

Re: как происходит авторизация???

Сообщение Aibolit »

а в настройках компонентов для user назначена ваша модель?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: как происходит авторизация???

Сообщение zelenin »

3ton писал(а):
futbolim писал(а):

Код: Выделить всё

Yii::$app->user->login() 
и
zelenin писал(а):User::login()
Yii::$app->user это и есть web/User
3ton
Сообщения: 61
Зарегистрирован: 2009.06.30, 16:35

Re: как происходит авторизация???

Сообщение 3ton »

Aibolit писал(а):а в настройках компонентов для user назначена ваша модель?

Код: Выделить всё

    'components' => [
        'user' => [
            'identityClass' => 'common\models\User',
 
zelenin писал(а):Yii::$app->user это и есть web/User

Код: Выделить всё

class User extends ActiveRecord implements IdentityInterface
{
 
или Вы мне предлагали в .../vendor/yiisoft/yii2/web модель юзера редактировать?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: как происходит авторизация???

Сообщение zelenin »

логин происходит с помощью Yii::$app->user->login()
https://github.com/yiisoft/yii2/blob/ma ... rm.php#L59
Yii::$app->user - это web/User
при вызове login оттуда, вызываются два эвента.
https://github.com/yiisoft/yii2/blob/ma ... r.php#L233
Я ничего не предлагаю - уже все есть и работает.
Aibolit
Сообщения: 31
Зарегистрирован: 2012.12.18, 23:38

Re: как происходит авторизация???

Сообщение Aibolit »

3ton писал(а):

Код: Выделить всё

class User extends ActiveRecord implements IdentityInterface
{
Вы написали afterLogin сюда? Боюсь, работать не будет.
3ton писал(а): или Вы мне предлагали в .../vendor/yiisoft/yii2/web модель юзера редактировать?
зачем же. Назначьте событие.
http://www.yiiframework.com/doc-2.0/gui ... vents.html
3ton
Сообщения: 61
Зарегистрирован: 2009.06.30, 16:35

Re: как происходит авторизация???

Сообщение 3ton »

Aibolit писал(а):
3ton писал(а):

Код: Выделить всё

class User extends ActiveRecord implements IdentityInterface
{
Вы написали afterLogin сюда? Боюсь, работать не будет.
3ton писал(а): или Вы мне предлагали в .../vendor/yiisoft/yii2/web модель юзера редактировать?
зачем же. Назначьте событие.
http://www.yiiframework.com/doc-2.0/gui ... vents.html
Возможно Вы удивитесь, но в этом и была суть вопроса - где отлавливать событие, в какой точке.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: как происходит авторизация???

Сообщение zelenin »

3ton писал(а):
Aibolit писал(а):
3ton писал(а):

Код: Выделить всё

class User extends ActiveRecord implements IdentityInterface
{
 
Вы написали afterLogin сюда? Боюсь, работать не будет.
3ton писал(а): или Вы мне предлагали в .../vendor/yiisoft/yii2/web модель юзера редактировать?
зачем же. Назначьте событие.
http://www.yiiframework.com/doc-2.0/gui ... vents.html
Возможно Вы удивитесь, но в этом и была суть вопроса - где отлавливать событие, в какой точке.
и вам сразу же на него ответили
3ton
Сообщения: 61
Зарегистрирован: 2009.06.30, 16:35

Re: как происходит авторизация???

Сообщение 3ton »

zelenin писал(а): и вам сразу же на него ответили
Вводные данные - я неандерталец не имеющий опыт программирования, я понял где генерится событие что произошел логин, Вы можете указать где его правильнее отловить???

Так сказать - ткнуть меня носом...
Aibolit
Сообщения: 31
Зарегистрирован: 2012.12.18, 23:38

Re: как происходит авторизация???

Сообщение Aibolit »

3ton писал(а): Возможно Вы удивитесь, но в этом и была суть вопроса - где отлавливать событие, в какой точке.
Отнюдь.
Событие не надо отлавливать. Его уже отловили создатели фреймворка. Вам нужно лишь назначить этому событию свою логику. Сделать это нужно до того момента, как сработает событие. Это можно сделать где угодно: в конфиге, в наследнике web\User (если он уже есть), в каком-нибудь бутстрапе, глобально - там, где вам и вашему приложению это удобно.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: как происходит авторизация???

Сообщение zelenin »

3ton писал(а):
zelenin писал(а): и вам сразу же на него ответили
Вводные данные - я неандерталец не имеющий опыт программирования, я понял где генерится событие что произошел логин, Вы можете указать где его правильнее отловить???

Так сказать - ткнуть меня носом...
https://github.com/yiisoft/yii2/blob/ma ... -events.md
создайте поведение, повесьте на компонент на событие.
Ответить