Как же авторизовать пользователя из стороннего скрипта?

Автор virtualbrest, 14 июля 2011, 03:28:05

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

virtualbrest

Версия 2.0, именно для нее ничего не нашел, задача - авторизовать пользователя на сторонней странице (не на форуме), так что бы если он пойдет на форум, он уже был бы там авторизован. Форум в директории, не в поддомене. Установка сессий

$_SESSION['user']['id'] =
$_SESSION['user']['is_logged'] = 1;
$_SESSION['user']['is_guest'] = '';
$_SESSION['user']['username'] =


не дает желаемого результата... Может я не все устанавливаю в сессии? Прошу направить мысль...

flint2000

Как вариант написать класс, который будт инклюдиться прямо в ядре стороннего движка, обрабатывать все данные стороннего движка и передавать на форум.

virtualbrest

Этот вариант не то что надо - надо просто знать как и что прописывать в куку, мне кажется, вот это то и не понятно - перепробовал много вариантов, но авторизации все равно не получается.

flint2000

Цитата: virtualbrest от 15 сентября 2011, 14:16:14
Этот вариант не то что надо - надо просто знать как и что прописывать в куку, мне кажется, вот это то и не понятно - перепробовал много вариантов, но авторизации все равно не получается.
Вы тут не уточнили, что за сторонняя страница, это страница движка кокого то? если да, то каким образом проходит авторизация на самом движке, есть ли там БД пользователей или использует БД форума....

virtualbrest

Авторизация и регистрация проходят на стороннем движке, при регистрации пользователь добавляется и в базу стороннего движка, и в базу форума. Авторизация проходит успешно, но приходится вводить 2 раза логин и пароль - и на движок, и на форум. А надо - вводить только 1 раз (на форуме откл. регистрация) - на движке, с установкой куков или сессии и для движка (это есть), и для форума (это нет и не поддается). Вот в этом и вопрос - как правильно установить куку для того, что бы авторизовать пользователя, при условии что известен его ID, логин, пароль, майл.

flint2000

Тогда может стоит попробовать авторизацию по куке делать?

virtualbrest

Мы переливаем из пустого в порожнего - конечно, надо по куке делать, но надо знать как! Вот это я и хотел спросить, и даже предлагал денег рядом в теме, но никто почему то не захотел откликнуться, что для меня странно.

WebRealizator

Аналогичная проблема и тоже согласен заплотить денег :) )
застопорилась интеграция смф с моим движком из-за того что непонятно совершенно как оно устроено точно в смф, т.е. мне ssi функции ненужны, мне не надо выводить поля ввода или ссылку выхода, нужно имено в движке сайта при входе или выходе в самом сайте произвести действия с таблицами смф, чтобы произвести аналогичные действия в форуме.

Предлогаю записывать результаты опытов может сами разберемся в структуре :)
Можно постепенно копать, вот smf_sessions походу несвязана с авторизацией и т.д. т.к. что только сней не делал невлияет.
Т.е. главное понять где у нее связь таблицы smf_members с положением юзеров- авторизован/вышел.

WebRealizator

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

digger®

Цитата: WebRealizator от 21 октября 2011, 03:35:45
Вобще насколько понял в сесии хранится ид, в куке еще один ид
и в таблице smf_sessions фактически session_id это ид сесии
а параметрах data хранятся код куки и еще куча кодов (например на выход) и это все на первый взгляд никак не привязано к юзерам, сесии на сервере тоже никак не связаны брр
бред какойто если чесно
SMF API 2.0 возьмите отсюда и велосипедов не изобретайте
http://www.simplemachines.org/community/index.php?topic=440504.msg3162148#msg3162148

WebRealizator

2 digger: ухты спасибо  O0
и незнал даже, что там уже все так продумано, круто конечно, как сделаю покажу     ;)

virtualbrest

У меня так и не получилось авторизовать, даже с использованием этого примера:

require_once DOCUMENT_ROOT.('/forum/smf_2_api.php');
smfapi_login($new_login);

где $new_login - логин пользователя. Не авторизуется. Что я не так сделал?

Drakonsa


WebRealizator

Цитата: virtualbrest от 22 октября 2011, 16:48:56где $new_login - логин пользователя. Не авторизуется. Что я не так сделал?
работает апи, просто туда передается не логин, а id пользователя,
еще мини имхо лучше не класть файл такой в папку форум, во избежание, а кудато отдельно в папку или к другим php внутреним файлам куда закрыт совсем доступ