Просмотр полной версии : авторизация пользователя на фронте
создал расширение для авторизации пользователя на центральном сервере через WSDL
уходит запрос, приходит ответ, если пришли данные пользователя должны врубить его сессию и данные поместить в нее
делаю это так
$user = $response['result'];
$GLOBALS["TSFE"]->fe_user->createUserSession($user);
$GLOBALS["TSFE"]->fe_user->loginSessionStarted = TRUE;
$GLOBALS["TSFE"]->fe_user->user = $user;
$GLOBALS["TSFE"]->loginUser = 1;
$GLOBALS["TSFE"]->fe_user->start();
но при перезагрузке страницы делаю проверку
if($GLOBALS["TSFE"]->loginUser)
и оказывается что там нуль... :(
ктото сталкивался с этим, может какого нить волшебного слова не хватает???
Valery Romanchev
01.03.2010, 16:59
правильнее это все делать через auth сервис (в репозитории много примеров по слову "auth")
Но если хочется по своему то:
насчет кода для создания юзера: есть примеры, как это делается в eid скрипте
если без eid то можно так:
- назначить $_POST те поля, которые есть у стандартного логин бокса
- вызвать типа $TSFE->initFEuser(); или $GLOBALS['TSFE']->initFEuser();
function processFELogin($data){
// We put our incoming data to the regular piVars
$_POST=$data;
$user=tslib_eidtools::initFeUser();
$GLOBALS['TSFE']->loginUser=$user->user ? 1 : 0;
$GLOBALS['TSFE']->fe_user=$user;
это в eid скрипте так сделано экст ods_ajaxfelogin
еще насчет юзера http://lists.typo3.org/pipermail/typo3-project-commerce/2008-July/002273.html
тут вариант как без $_POST сделать
дело в том, что если юзер не залогинен, то сесиия и $GLOBALS['TSFE']->fe_user все равно существуют
проблема в том что моих пользователей вообще нет и не будет в таблице fe_users
все они на центральном сервере, где и находится вся билинговая система
а типа3 только для фронта чтоб отдать его на растерзание и пользование
весь функционал построен на сервисах и вся логика происходит на стороннем сервере
Valery Romanchev
02.03.2010, 14:18
проблема в том что моих пользователей вообще нет и не будет в таблице fe_users
все они на центральном сервере, где и находится вся билинговая система
а типа3 только для фронта чтоб отдать его на растерзание и пользование
весь функционал построен на сервисах и вся логика происходит на стороннем сервере
в этом случае надо делать так, как мы делали в эксте vbulletin_auth
При логина юзера добавлять его в таблицу fe_users (если его там нет)
Иначе у вас не получится добиться полной совместимости
Еще можно посмотреть другие auth экстеншены - там есть и аутентификация относительно LDAP и внешней SQL базы
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot