Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   авторизация пользователя на фронте (http://forum.typo3.ru/showthread.php?t=8404)

3ton 01.03.2010 14:01

авторизация пользователя на фронте
 
создал расширение для авторизации пользователя на центральном сервере через 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/typ...ly/002273.html
тут вариант как без $_POST сделать

дело в том, что если юзер не залогинен, то сесиия и $GLOBALS['TSFE']->fe_user все равно существуют

3ton 02.03.2010 12:27

проблема в том что моих пользователей вообще нет и не будет в таблице fe_users

все они на центральном сервере, где и находится вся билинговая система
а типа3 только для фронта чтоб отдать его на растерзание и пользование
весь функционал построен на сервисах и вся логика происходит на стороннем сервере

Valery Romanchev 02.03.2010 14:18

Цитата:

Сообщение от 3ton (Сообщение 27251)
проблема в том что моих пользователей вообще нет и не будет в таблице fe_users

все они на центральном сервере, где и находится вся билинговая система
а типа3 только для фронта чтоб отдать его на растерзание и пользование
весь функционал построен на сервисах и вся логика происходит на стороннем сервере

в этом случае надо делать так, как мы делали в эксте vbulletin_auth
При логина юзера добавлять его в таблицу fe_users (если его там нет)
Иначе у вас не получится добиться полной совместимости

Еще можно посмотреть другие auth экстеншены - там есть и аутентификация относительно LDAP и внешней SQL базы


Часовой пояс GMT +4, время: 10:17.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot