Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community |
12.10.2012, 13:49 | #1 |
Guest
Сообщений: n/a
|
Механизм и концепция авторизации пользователей на сайте ("в ручную")
В google нашел коды для ручной авторизации пользователя:
PHP код:
Но почему при перезагрузке страницы $GLOBALS["TSFE"]->loginUser = 0; Как работать с концепцией авторизации пользователь на основе API typo3. И правильно ли понимаю что $GLOBALS["TSFE"]->loginUser в единицу нужно устанавливать самостоятельно, через постоянную проверку где-то вверху кода программы, а также группу пользователя также необходимо проверять каждый раз при перезагрузке страницы? Также пробовал на Wininstaller typo3 пакет Inducation. Авторизовался в системе - авторизация прошла успешно - но $GLOBALS["TSFE"]->loginUser упорно равен 0! Последний раз редактировалось Ивано; 12.10.2012 в 14:02 |
12.10.2012, 18:20 | #2 |
Guest
Сообщений: n/a
|
Так понимаю что после сохранения сессии в БД выше приведенных кодом, необходимо проверять статус залогиннинности пользователя следующим кодом на каждой странице и там где требуется в контенте:
$user = tslib_eidtools::initFeUser(); $GLOBALS['TSFE']->loginUser = $user ? 1 : 0; $GLOBALS['TSFE']->fe_user = $user; |
12.10.2012, 20:05 | #3 | |
Senior Member
|
Цитата:
Эта функция только для eID скриптов (там кстати нет $GLOBALS['TSFE'], поэтому присвоение чего-то $GLOBALS['TSFE']-> бессмысленно и приедет к warning). В FE плагинах можно просто проверить $GLOBALS['TSFE']->loginUser, он будет уже инициализирован на момент вызова вашего плагина. |
|
12.10.2012, 20:08 | #4 |
Senior Member
|
Что касается ручного логина в коде - а "обычный" у вас работает?
Если и он не работает, может быть проблема с сохранением кук в броузере, или с привязкой созданных кук к правильному домену. |
12.10.2012, 20:56 | #5 |
Guest
Сообщений: n/a
|
Полный код
Обычный работает.
Данный код у меня успешно работает только в google chrome. Opera и IE - не сохраняют как понимаю сессию. Суть кода - выводится форма авторизации пользователя если не залогинен и наоборот - если залогинин выводится формы выхода. PHP код:
Так понимаю это проблема в cookie - как можно их подправить? Последний раз редактировалось Ивано; 12.10.2012 в 21:24 |
12.10.2012, 21:05 | #6 |
Guest
Сообщений: n/a
|
Хотя нет - причина в том, что данные не пишутся в таблицу fe_session!
|
12.10.2012, 21:12 | #7 |
Guest
Сообщений: n/a
|
Поменял на вот этот код и все заработало - сессии создаются...
$GLOBALS["TSFE"]->fe_user->user = $GLOBALS["TSFE"]->fe_user->fetchUserSession(); $GLOBALS['TSFE']->loginUser = 1; $GLOBALS['TSFE']->fe_user->start(); $GLOBALS["TSFE"]->fe_user->createUserSession($user); $GLOBALS["TSFE"]->fe_user->loginSessionStarted = TRUE; Единственное что осталось - это если закрыть браузер сессия разрывается. Необходима кнопка запомнить. Последний раз редактировалось Ивано; 12.10.2012 в 21:37 |
12.10.2012, 22:00 | #8 |
Guest
Сообщений: n/a
|
В стандартной форме почему-то не работает:
"Display Remember Login Option" (Показать параметр о запоминании авторизации) |
15.10.2012, 16:16 | #9 |
Продвинутый
Регистрация: 28.04.2010
Сообщений: 73
|
Скажите, что именно вы хотите сделать. Возможно, мы скажем вам – как
|
17.10.2012, 22:33 | #10 |
Guest
Сообщений: n/a
|
В общем научился работать с сессиями для анонимных пользователей и авторизированных пользователей (прочитал здесь - http://www.koller-webprogramming.ch/...-mit-sessions/). С удивлением узнал, что если на любой странице передать через post user, pass и pid-хранилища записей пользователей - то произойдет аудентификация пользователя без всяких расширений и прочего.
С сессиями работаю так: PHP код:
Единственное что не могу понять, так как сделать так, что бы после входа в систему на основе кода который привожу в начале данной темы - запомнить этот вход на всегда... Т.е. что бы браузер закрыл и открыл и не приходилось входить по новой (аналог кнопки "Запомнить пароль"). |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Какой механизм публикации картинок на сайте выбрать? | Илья | Общие вопросы | 3 | 18.04.2007 17:46 |