Joomla 1.5 Авторизация по email

Discussion in 'Программирование' started by SindBAD, Jul 2, 2010.

  1. Offline

    SindBAD Недавно здесь

    Joined:
    Jun 9, 2009
    Messages:
    100
    Likes Received:
    6
    Gender:
    Male
    Всем привет!
    Подскажите, пожалуйста, как правильно сделать авторизацию по email вместо логина?
    Увы, простым исправлением запроса
    Код (PHP):
    1. 'SELECT `id`, `password`, `gid` FROM `#__users` WHERE username='. $db->Quote( $credentials['username'] )

    на
    Код (PHP):
    1. 'SELECT `id`, `password`, `gid` FROM `#__users` WHERE email='. $db->Quote( $credentials['username'] ). ' LIMIT 1'

    отделаться не получилось - "Такой e-mail уже зарегистрирован. Если Вы забыли пароль, нажмите на Забыли пароль и Вам будет выслан новый пароль." В какую сторону копать?
     
  2.  
  3. woojin
    Offline

    woojin Местный Staff Member => Cпециалист <=

    Joined:
    May 31, 2009
    Messages:
    3,204
    Likes Received:
    334
    Gender:
    Male
    регистрация по LOGIN ни чем не отличается от регистрации по E-MAIL просто называются по поля ввода по разному и после нажатия на кнопку ВОЙТИ еще идёт проверка на правильность написания E-MAIL, а так создаётся всё тот же ХЕШ и записывается всё туда же
     
  4. Offline

    SindBAD Недавно здесь

    Joined:
    Jun 9, 2009
    Messages:
    100
    Likes Received:
    6
    Gender:
    Male
    А точнее? Из этого поста, пардон, сложно сделать нужный вывод.
     
  5. woojin
    Offline

    woojin Местный Staff Member => Cпециалист <=

    Joined:
    May 31, 2009
    Messages:
    3,204
    Likes Received:
    334
    Gender:
    Male
    смысл авторизации по LOGIN:
    берется слово и сравнивается тем которое забито в БД

    смысл авторизации по E-MAIL:
    берется e-mail, проверяется на правильность написания, если проверка прошла то сравнивается тем которое забито в БД
     
  6. Offline

    SindBAD Недавно здесь

    Joined:
    Jun 9, 2009
    Messages:
    100
    Likes Received:
    6
    Gender:
    Male
    Так я и сделал. Получаю
    "Такой e-mail уже зарегистрирован. Если Вы забыли пароль, нажмите на Забыли пароль и Вам будет выслан новый пароль."
     
  7. woojin
    Offline

    woojin Местный Staff Member => Cпециалист <=

    Joined:
    May 31, 2009
    Messages:
    3,204
    Likes Received:
    334
    Gender:
    Male
    ШАРИК ВЫ БАЛБЕС
    надо записывать не в поле:
    а вполе:
    а в поле e-mail оно само попадёт
     
  8. Offline

    SindBAD Недавно здесь

    Joined:
    Jun 9, 2009
    Messages:
    100
    Likes Received:
    6
    Gender:
    Male
    Либо вы топик невнимательно читаете, либо тупо прикалываетесь.
    Вы хоть понимаете о чем речь-то?
     
  9. woojin
    Offline

    woojin Местный Staff Member => Cпециалист <=

    Joined:
    May 31, 2009
    Messages:
    3,204
    Likes Received:
    334
    Gender:
    Male
    я то понимаю просто вы пытаетесь записать имя пользователя в поле e-mail, а я говорил о том что "мыло должно быть и в поле "username" и в поле "email" тогда у вас всё заработает
     
  10. Offline

    SindBAD Недавно здесь

    Joined:
    Jun 9, 2009
    Messages:
    100
    Likes Received:
    6
    Gender:
    Male
    А, кажется я вас понял... Вы имеет в виду регистрацию. А я имею в виду именно авторизацию. То есть, пользователи, которые уже зарегистрировались с логином, должны будут тоже входить по е-мэйлу. Нужно сравнивать именно поле email из таблицы пользователей, вот в чем штука((
     
  11. woojin
    Offline

    woojin Местный Staff Member => Cпециалист <=

    Joined:
    May 31, 2009
    Messages:
    3,204
    Likes Received:
    334
    Gender:
    Male
    да именно!!!![!]:dance::yahoo:
     
  12. omfgpanda
    Offline

    omfgpanda Недавно здесь => Cпециалист <=

    Joined:
    Jan 22, 2008
    Messages:
    673
    Likes Received:
    53
    Gender:
    Male
    Мой Вам совет, дабы не вдаваться "Во все тяжкие" джумлы рекомендую при регистрации подсовывать в поле "username" емайл клиента и будет вам счастье.
    Ну если Вы, все таки, решили "привязаться" к полю email, то вам придется основательно покопаться в ядре и изменить алгоритмы хеширования паролей пользователей, т.к. хеш создается на основе трех переменных - username + password + secret_key.

    Удачи )
     
  13. woojin
    Offline

    woojin Местный Staff Member => Cпециалист <=

    Joined:
    May 31, 2009
    Messages:
    3,204
    Likes Received:
    334
    Gender:
    Male
    я говорил тоже самое но видимо немного не так объяснил, а хеш как ни странно создаётся только из пароля, просто сам буквально пару дней назад ради интереса ковырялся в USER.PHP там что то я не увидел ссылок на username при хешировании
     
  14. omfgpanda
    Offline

    omfgpanda Недавно здесь => Cпециалист <=

    Joined:
    Jan 22, 2008
    Messages:
    673
    Likes Received:
    53
    Gender:
    Male
    код в студию !
     

Share This Page

Loading...