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

Тема в разделе "Программирование", создана пользователем SindBAD, 02.07.2010.

  1. Offline

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

    Регистрация:
    09.06.2009
    Сообщения:
    100
    Симпатии:
    6
    Пол:
    Мужской
    Всем привет!
    Подскажите, пожалуйста, как правильно сделать авторизацию по 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 Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    регистрация по LOGIN ни чем не отличается от регистрации по E-MAIL просто называются по поля ввода по разному и после нажатия на кнопку ВОЙТИ еще идёт проверка на правильность написания E-MAIL, а так создаётся всё тот же ХЕШ и записывается всё туда же
     
  4. Offline

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

    Регистрация:
    09.06.2009
    Сообщения:
    100
    Симпатии:
    6
    Пол:
    Мужской
    А точнее? Из этого поста, пардон, сложно сделать нужный вывод.
     
  5. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    смысл авторизации по LOGIN:
    берется слово и сравнивается тем которое забито в БД

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

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

    Регистрация:
    09.06.2009
    Сообщения:
    100
    Симпатии:
    6
    Пол:
    Мужской
    Так я и сделал. Получаю
    "Такой e-mail уже зарегистрирован. Если Вы забыли пароль, нажмите на Забыли пароль и Вам будет выслан новый пароль."
     
  7. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    ШАРИК ВЫ БАЛБЕС
    надо записывать не в поле:
    а вполе:
    а в поле e-mail оно само попадёт
     
  8. Offline

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

    Регистрация:
    09.06.2009
    Сообщения:
    100
    Симпатии:
    6
    Пол:
    Мужской
    Либо вы топик невнимательно читаете, либо тупо прикалываетесь.
    Вы хоть понимаете о чем речь-то?
     
  9. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    я то понимаю просто вы пытаетесь записать имя пользователя в поле e-mail, а я говорил о том что "мыло должно быть и в поле "username" и в поле "email" тогда у вас всё заработает
     
  10. Offline

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

    Регистрация:
    09.06.2009
    Сообщения:
    100
    Симпатии:
    6
    Пол:
    Мужской
    А, кажется я вас понял... Вы имеет в виду регистрацию. А я имею в виду именно авторизацию. То есть, пользователи, которые уже зарегистрировались с логином, должны будут тоже входить по е-мэйлу. Нужно сравнивать именно поле email из таблицы пользователей, вот в чем штука((
     
  11. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    да именно!!!![!]:dance::yahoo:
     
  12. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    Мой Вам совет, дабы не вдаваться "Во все тяжкие" джумлы рекомендую при регистрации подсовывать в поле "username" емайл клиента и будет вам счастье.
    Ну если Вы, все таки, решили "привязаться" к полю email, то вам придется основательно покопаться в ядре и изменить алгоритмы хеширования паролей пользователей, т.к. хеш создается на основе трех переменных - username + password + secret_key.

    Удачи )
     
  13. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    я говорил тоже самое но видимо немного не так объяснил, а хеш как ни странно создаётся только из пароля, просто сам буквально пару дней назад ради интереса ковырялся в USER.PHP там что то я не увидел ссылок на username при хешировании
     
  14. omfgpanda
    Offline

    omfgpanda специалист

    Регистрация:
    22.01.2008
    Сообщения:
    673
    Симпатии:
    53
    Пол:
    Мужской
    код в студию !
     

Поделиться этой страницей

Загрузка...