Русское сообщество fluxbb

Быстрый лёгкий надёжный форумный движок

Вы не вошли.

Объявление

Вы можете внести свой вклад в содержание сайта. Жертвователи попадут в почетную группу "Спонсоры". Поддержать сайт.

#1 2008-05-20 14:53:27

olleg
Гость

Хочу авторизацию в punBB по данным из внешнего источника.

на компе запущен сервис, в котором юзер прошел авторизацию.
существует скрипт, который получил имя пользователя (логин) из сервиса в переменную.

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

я догадываюсь, что надо юзать кукисы, но знаний не хватает(

Добавлено спустя     3 минуты   5 секунд:
если кто понял о чем речь, помогите, пжлст)))

#2 2008-05-31 08:00:41

artoodetoo
Гость

Re: Хочу авторизацию в punBB по данным из внешнего источника.

olleg пишет:

чтобы гость имел право оставлять сообщения после проверки на наличие этого имени пользователя

Если бы не этот пункт, то дейстительно можно было бы обойтись кукисами.
Фактичски это означает подмену регистрации на форуме. Если речь идет о двух разных сайтах, то можно использовать [search]OpenId[/search]. Но мне кажется, что ты говоришь про один сайт, здесь это как-то нескладно.

В профиле пользователя форума больше 30 полей и все они где-то используются. Невозможно просто выбросить таблицу users. Поддерживать полную синхронизацию совпадающих полей на форуме и в "другой системе" слишком сложно, можно потерять контроль.
Мне кажется лучше сформулировать задачу иначе:

Как объединить ригистрационные данные на форуме и в иной системе в одну таблицу?

Тогда способ решения очевиден, хотя и не прост: выбираем какая из систем будет ведущей и добавляем в нее недостающие поля. В ведомой системе убираем возможность редактирования профиля "родным" способом, а ссылки на профиль адресуем в ведущую систему. В ведомой системе переписываем чтение рег. данных на таблицу из ведущей системы. Здесь непринципиально будет ли форум "ведущим" или "ведомым". Подход один.

Я бы мог такое закодить на коммерческой основе. Ссылка на email в моем профиле.

#3 2008-06-02 09:04:01

olleg
Гость

Re: Хочу авторизацию в punBB по данным из внешнего источника.

Речь не идет о двух сайтах... Речь идет о сервисе запущенном на компьютере, в котором юзер проходит авторизацию. Для простоты понимания будем, например, считать что это 1С. Т.е. редактирование форм регистрации и таблиц о юзере в сервисе будем считать невозможным.  Этот сервис отдает по запросу массу данных (форматированных в виде XML) о юзере. Из всей этой массы данных можно использовать только имя пользователя.

Мне пытаются поставить задачу чтобы пользователь имея активным на своем компьютере сервис и авторизовавшийся в нем, мог без регистрации (и авторизации) в форуме оставлять сообщения.

Первое, что приходит в голову, это простая, дополнительная, проверка на наличие авторизации в сервисе в файле post.php. И при формировании сообщения, замена имени Гость на имя пользователя полученное из сервиса.

Админы и модераторы будут регистрироваться и авторизовываться по прежнему

больше пока ничего(

С уважением,

#4 2008-06-02 13:09:43

artoodetoo
Гость

Re: Хочу авторизацию в punBB по данным из внешнего источника.

дауж. совсем не то, что я думал smile хз, я пас

#5 2008-06-16 14:31:57

vp7
Гость

Re: Хочу авторизацию в punBB по данным из внешнего источника.

В твоей ситуации, думаю, можно без особых проблем сделать следующее:
1. Автосоздание пользователей.
2. Автологин пользователей

Всё на основе данных, переданных сервисом.
В куках сохраняется зашифрованный пароль и ID пользователя.

Вот пример кода для сохранения куки:

$punbb_cookie = md5($punbb_cookie_seed.$punbb_db_password);
@setcookie('punbb_cookie', serialize(array($punbb_user_id, $punbb_cookie)), 0, '/');

Объяснение:
$punbb_cookie_seed - параметр из конфига punBB
$punbb_user_id - ID пользователя из БД punBB
$punbb_db_password - пароль, сохранённый в БД (там он в шифрованном виде)

С созданием пользователя тоже всё довольно просто. Я использую всего несколько полей (точнее - 8: username, group_id, password, email, language, style, registered, registration_ip) и этого хватает для корректной работы.

Редактировался vp7 (2008-06-16 14:32:15)

Подвал доски

Под управлением FluxBB. Хостинг Hostens