Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Внешняя авторизация? Невозможно найти пользователя с введенными вами данными

Опубликовано:

На сколько я понимаю проблема в том чтобы декодировать пароль с внешней базы данных, привести его в текстовый вид, и с помощью него произвести аторизацию. Как это сделать???

Рекомендованные сообщения

Опубликовано:
  • Автор

Подробнее:

 

Есть сайт, недавно поставил к нему IPB 2.3.6. форум. Решил сделать единую базу пользователей от сайта.

Выбрал в дминке внешняя авторизация, в файле conf.php (который находиться в папке external) прописал все пути к базе данных сайта.

 

пытаюсь войти пользователем с базы данных сайта, выводиться ошибка:

 

Невозможно найти пользователя с введенными вами данными

 

На сколько я понимаю в файле auth.php нужно правильно чтото гдето исправить, чтобы когда вводим пороль на форуме, он правильно кодировался и сверялся с тем который находиться в базе данных.

 

 

Пожалуйста подскажите как что сделать, вчера весь день просидел, ничего не получилось...

Изменено пользователем Qest

Опубликовано:

Ждите ответа программистов, если дождетесь.

Сайт вообще-то о дизайне....

Опубликовано:
Есть сайт, недавно поставил к нему IPB 2.3.6. форум. Решил сделать единую базу пользователей от сайта.

А что за движок? Может проще найти готовое решение?

 

 

На сколько я понимаю в файле auth.php нужно правильно чтото гдето исправить, чтобы когда вводим пороль на форуме, он правильно кодировался и сверялся с тем который находиться в базе данных.

Работа IP.Board с внешним реестром пользователей

Опубликовано:
  • Автор

Движок сайта - shopcms

 

Эту статью я читал кучу раз...Да вот ничего конкретно там не сказано что делать, вот например:

 

--------------------------------------------------------------------------------------------------

 

Если запрос к реестру ничего не вернул, то перевести систему авторизации в состояние NO_USER и передать управление IP.Board.

Сверить полученный в запросе 3 пароль с введенным пользователем.

Обычно для этой цели выделяется отдельный метод _compare_passwords. Который принимает два пароля и в соответствии с некоторой логикой сравнивает их. Что такое логика? Сравнивать обыкновенно приходится некоторый хэш (hash) пароля из реестра и чистый (plain-text) пароль. Естественно для приема решения о совпадении паролей их необходимо привести к одному виду, а так как хэширование это однонаправленная функция (нет обратного преобразования hash→plain-text), то хэшируют чистый пароль. Хэширование может быть многоэтапным с добавлением соли (salt) и с применением различных криптографических алгоритмов - это и есть логика.

В случае различия паролей - перевести систему авторизации в состояние WRONG_AUTH и передать управление IP.Board.

Попробовать загрузить информацию о пользователе из локального реестра. Данное действие есть попытка проверить наличие данного пользователя в локальной базе. Для чего нам необходима локальная запись о пользователе уже объяснялось.

Если пользователь в локальном реестре не найден, попробовать его создать.

Если создать не получилось, то перевести систему авторизации в состояние NO_USER и передать управление IP.Board.

В противном случае - перевести систему в состояние SUCCESS

 

Собственно в теории это так, а за кодом обращаемся в ./sources/loginauth/external/auth.php

 

--------------------------------------------------------------------------------------------------

 

Расписано все общими фразами, а как это сделать и осущесвить?

Опубликовано:
Движок сайта - shopcms

Увы. Не знаю его.

 

Эту статью я читал кучу раз...Да вот ничего конкретно там не сказано что делать

А конкретно, нечего не напишешь. Там дан общей алгоритм. Надо знать движок IPB и движок сайта.

 

Если поискать на ibresource, то в форуме было несколько готовых решений, на базе этого алгоритма. Вчера искал, но не попались. Если увижу, дам ссылку.

 

Расписано все общими фразами, а как это сделать и осущесвить?

Я начинал делать авторизацию для себя, но не доделал. Время ... Да и с выход IP.Board 3, для 2-ой версии делать стало не интересно.

Опубликовано:
  • Автор

Ph-A, проблема решена, окозалось что движок shopcms хеширует пароли по Base64. Пришлось вставить алгоритм преобразования пароля из Base64 в текстовый формат!

 

Так, теперь возникли другие вопросы.

После того как пользователсь авторизируется, форум просит его ввести емейл. Как сделать так чтобы форум автоматически брал емейл с базы данных сайта, как он это делает с логином и паролем???

 

PS, а чем 3 версия лучше?

Изменено пользователем Qest

Опубликовано:
Ph-A, проблема решена, окозалось что движок shopcms хеширует пароли по Base64. Пришлось вставить алгоритм преобразования пароля из Base64 в текстовый формат!

Я это и имел в виду. Что каждый движок, извращается по своему.

 

После того как пользователсь авторизируется, форум просит его ввести емейл. Как сделать так чтобы форум автоматически брал емейл с базы данных сайта, как он это делает с логином и паролем???

Я не знаю, как вы сделали. Но кто мешает и подхватывать и емейл?

 

 

PS, а чем 3 версия лучше?

Она новая. Она поддерживается и будет развиваться.

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.