За последние 24 часа нас посетили 53459 программистов и 1715 роботов. Сейчас ищут 893 программиста ...

Авторизация

Тема в разделе "Yii", создана пользователем aza, 7 мар 2018.

  1. aza

    aza Новичок

    С нами с:
    7 мар 2018
    Сообщения:
    7
    Симпатии:
    0
    Приветствую, пытаюсь сделать авторизацию,но странный баг проявляется при авторизации появляется куки _identy и удаляется сразу же :eek: и соответсвенно авторизация слетает.
    Контроллер:https://pastebin.com/2ZwgVwyG
    Модель таблицы:https://pastebin.com/zSN5P8wr
    Модель формы:https://pastebin.com/yeBhsi6c
     
  2. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Ну модель у тебя неправильная, нельзя не разбирая брать чужой код и писать. В Basiс-приложении изначально аутентификация без базы, а ты пытаешься сделать с базой. А документацию явно не читал (действительно, нафига?). Вот, прочти для начала, что зачем. Специально для тебя на русском загуглил: https://nix-tips.ru/yii2-api-guides/guide-ru-security-authentication.html
     
  3. aza

    aza Новичок

    С нами с:
    7 мар 2018
    Сообщения:
    7
    Симпатии:
    0
  4. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Странно ты читал.... Я уже и так тыкаю. Ну вот совсем прозрачно:
    PHP:
    1.  public static function findIdentity($id)
    2.     {
    3.         return isset(self::$users[$id]) ? new static(self::$users[$id]) : null;
    4.     }
    Где, по твоему, ищет пользователя этот код?
     
  5. aza

    aza Новичок

    С нами с:
    7 мар 2018
    Сообщения:
    7
    Симпатии:
    0
    Я ж скинул новые модели,где поправлены по мане.
    Код (Text):
    1.  public static function findIdentity($id)
    2.     {
    3.         return static::findOne($id);
    4.     }
    И да в старом варианте,использую же метод :
    Код (Text):
    1.  public static function findByUsername($login)
    2.     {
    3.         return static::findOne(['login'=>$login]);
    4.     }
     
  6. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    И что, всё равно не работает?
    --- Добавлено ---
    Это что на первый взгляд сразу бросалась, а так покажи ещё конфиг. Если совсем ничего не понятно, я отладчиком лезу внутрь фреймворка
     
  7. aza

    aza Новичок

    С нами с:
    7 мар 2018
    Сообщения:
    7
    Симпатии:
    0
    Да,куки _identy появляется и удаляется сразу же.
    Пожалуйста:https://pastebin.com/LvRm7cn4
     
  8. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Ну в глаза ничего не бросается, значит надо брать XDebug и лезть внутрь
     
  9. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Позанудствую немного ) Когда ты определяешь пользователя по логину/паролю - это аутентификация. Авторизация же - это когда ты определяешь, какие действия может или не может выполнять пользователь.
     
  10. aza

    aza Новичок

    С нами с:
    7 мар 2018
    Сообщения:
    7
    Симпатии:
    0
    @mkramer Выставил брекпоинт в контроллере до редиректа домой.
    Ничего нового не увидел.
    Снимок экрана 2018-03-08 в 19.09.46.png
     
  11. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    Ну так пройди дальше/глубже