![]() |
Помогите новичку разобраться с отслеживанием сессий
Добрый вечер,
Недавно начал осваивать Typo3 и возникла такая проблема, пишу сайт на котором надо создать авторизацию для пользователей и отслеживать их сессии. Прочел что Typo3 имеет встроенный механизм отслеживания (да и таблички соответствующие в базе есть). Но не могу понять как это сделать. Как выдавать странички пользователю с учетом того кто он такой. И еще, может подскажете, можно ли в Typo3 вставлять PHP скрипты без плагинов, если да, то как это сделать. С английским не очень хорошо, так что если подскажете где это можно будет почитать на русском, то мне будет легче. Но в крайнем случае и с английским разберусь... хотя придется помучиться... :) Зарание благодарен за помощь... |
здесь посмотрите
http://wiki.typo3.org/Extension_Deve...Using_sessions PHP скрипты без плагинов вставлять можно с помощью экстеншенов типа page_php_content скачать можно здесь http://lists.typo3.org/pipermail/typ...il/048326.html |
Не все понял
Добрый день.
Прочел по той ссылке, которую вы мне указали, но там написано только как записать какую-то информацию о текущей сессии, но совсем не указано, как создавать нового FEUser и как потом при заполнении им формы логина запустить его сессию. Я написал формочку для регистрации, но не знаю как эти данные помещать в базу данных в таблицу fe_users. Знаю только спосб самый простой - писать с помощью PHP функции mysql_query(), но предполагаю что есть какие-то стандартные способы typo3. Так же на главной странице создал с помощью HTML формочку для логина, но как сделать так чтобі при нажатии кнопки typo3 понимал что это происходит логин юзера? И еще такой вопрос от чайника - а чем отличаются понятия плагина и экстеншина? я как-то их воспринимал как синонимы... :) |
Вставлять можно либо через механизм TCE, либо через TYPO3 DB API. Что-то типа $GLOBALS['TYPO3_DB']->execute_INSERTquery, в конечном счете этот вызов пройдет через DBAL и вызовет тот самый mysql_query. TYPO3 DB API в документации есть.
Экстеншен, т.е. расширение, может по-разному взаимодействовать с TYPO3. Одним из способов является регистрация нового плагина - т.е. нового типа элемента контента, который можно вставлять на страницах. Кроме плагинов, экстеншен может регистрировать бекенд-модули, таблицы в базе данных, сервисы, в т.ч. сервисы авторизации, захватывать системные хуки и проч., и проч. |
Цитата:
Форму регистрации писать не было особой необходимости, достаточно создать элемент контента типа login - будет вам и форма и кнопка, по которой feuser будет логиниться. Настраивается еще проще. В настройках обоих элементов указываете одну и туже страницу (а лучше sysfolder), где будут записи ваших пользователей храниться. |
sr_feuser_register попробовал вместе с felogin... юзеров создает, но только возникает одна проблема - когда пытаюсь залогинится под таким юзером, то felogin выдает ошибку, типа такого юзера нет. Хотя в базе он точно есть. Так же попробовал расширение Frontend User Management (datamints_feuser) тут все то же самое, тоже felogin выдает ошибку, но странное дело, когда заходишь в базу, то видишь что время последнего посещения юзера ненулевое. Если еще раз пытаешься залогинится, то время последнего посещения меняется... Т.е. тут все таки логин происходит.
Вот из-за таких вот непоняток я и предпочитаю попробовать написать что-то свое, а не пользоваться готовым... Слишком много с готовым может возникать проблем. |
:eek:
Цитата:
|
Цитата:
|
Так где конкретно искать то?
Я пробовал искать, но как-то не вижу... вижу тока эту самую фигу... :( Если бы сам мог найти, тут бы не спрашивал. |
поставь следующий параметр в localconf.php из typo3conf/
Код:
$TYPO3_CONF_VARS['SYS']['cookieDomain'] = '.you_domen.com'; |
Поставил этот параметр, и после этого перестало логинится даже в backend. Но при этом и на сайте не заработало. Может тут дело в том что домена у нас пока нет и я указал:
$TYPO3_CONF_VARS['SYS']['cookieDomain'] = '.my_IP:my_Port'; После того как я это вставил, перестал работать логин и в backend. Что я неправильно делаю? А так, если этого значения не ставить, то у нас логин в backend работает, а на разрабатываемом сайте нет. |
Цитата:
Цитата:
в общем-то да |
А у меня груп юзеров вообще нет. Откуда они появляются? Напрямую в базу писать или есть каки-то средства typo3?
|
Цитата:
Цитата:
$TYPO3_CONF_VARS['FE']['cookieDomain'] для внутреннего, в $TYPO3_CONF_VARS['BE']['cookieDomain'] ну а то, что было установлено - это для общих сессий... $TYPO3_CONF_VARS['SYS']['cookieDomain'] |
Ага, спасибо, сейчас попробую...
|
не, все равно не работает.
указал для FE, но логина так и не происходит. Сейчас на всякий случай залез в базу, посмотрел там логин и пароль, не ошибаюсь ли я. Нет, все правильно... Не знаю в чем дело. И страница у меня указана та самая где у меня находится этот юзер в BE, на той же странице я поставил плагин пользователи сайта. Не понимаю почему не работает. в качестве ".domain.com" я указал ".my_IP:my_Port" |
Странное все это... Я так понимаю, что это локальная установка TYPO3... Почему бы не поставить Introduction package (можно в той же установке) и глянуть, работает ли все там, а потом уже идти далее... Если работает - то по образу и подобию
Смотреть нужно следующие вещи: - ставятся кукисы или нет - разрешения на страницы для пользователей - правильность настройки соответствующих расширений (по руководству) - еще такая вещь, на которую не обращают внимание, правильно ли работает сама база данных - кодировка utf-8, провести сравнение таблиц ну и т.д. ... пока так |
Все, проблему решил.
Дело было в том что юзер логинился, но при этом ничего на это не реагировало. Как только нашел как сделать группы и указать юзеру группу, все заработало... :) Спасибо за помощь... И с наступающим новым годом!!! |
Часовой пояс GMT +4, время: 15:20. |
Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot