Joomla 1.5 Слетает авторизация через время (Ajax)

Тема в разделе "Программирование", создана пользователем Neka, 13.10.2011.

  1. Offline

    Neka Недавно здесь

    Регистрация:
    21.07.2010
    Сообщения:
    8
    Симпатии:
    0
    Пол:
    Мужской
    Приветствую!
    У меня есть страница, на которой кнопочка, нажимая на которую, отсылается запрос AJAX'ом. Файл, который запрашивается подгружает ядро Joomla! и создает классы БД и пользователя (getDBO && getUser).

    Дык вот, если нажать эту кнопочку через, например, 1 час без обновления страницы, вызываемый AJAX'ом скрипт выдает, что нет авторизации, хотя на странице написано имя пользователя (естесственно, мы же не обновляли страницу!). А если обновить саму страницу, то авторизация "возвращается".

    Что это? Кэш? Как сделать, чтобы в таких случаях простоя не слетала авторизация в ядре жумлы?

    Код иницализации ядра в том скрипте:
    Код (PHP):
    1. // load Joomla core
    2. define( '_JEXEC', 1 );
    3. define( 'DS', DIRECTORY_SEPARATOR );
    4. define( 'JPATH_BASE', realpath(dirname(__FILE__).DS.'..'.DS.'..'.DS.'..' ));
    5.  
    6. require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
    7. require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
    8.  
    9. $mainframe  =& JFactory::getApplication('site');
    10. $mainframe->initialise();
    11.  
    12. $db =& JFactory::getDBO();
    13. $user =& JFactory::getUser();


    Код (PHP):
    1. define( 'JPATH_BASE', realpath(dirname(__FILE__).DS.'..'.DS.'..'.DS.'..' ));

    DS.'..'.DS.'..'.DS.'..' - есть /../../.. ибо у меня скрипт находится на 3 уровня глубже корня сайта.
     
  2.  
  3. Offline

    Legolazzzzz Недавно здесь

    Регистрация:
    02.06.2010
    Сообщения:
    25
    Симпатии:
    1
    Пол:
    Мужской
    Здравствуйте. Думаю, что дело кроется во времени авторизации. При заходе на сайт вы поставили флажок запомнить меня, а при обращении AJAXом это не учитывается, а время бездействия вышло...
    P.S. Я скорее всего ошибаюсь. Надеюсь знающие люди меня поправят.
     
  4. Offline

    Neka Недавно здесь

    Регистрация:
    21.07.2010
    Сообщения:
    8
    Симпатии:
    0
    Пол:
    Мужской
    Как я понял, при галочке "запомнить меня" куки пишутся на более долгое время. Но сама джумла, обычным заходом через браузер "помнит" последнего авторизованного пользователя, а через АЯКС "забывает".
    Значит для инициализации Joomla! через скрипт нужно что-то дописать. Но что и где?
     
  5. Offline

    Neka Недавно здесь

    Регистрация:
    21.07.2010
    Сообщения:
    8
    Симпатии:
    0
    Пол:
    Мужской
    Тема более чем актуальна!
    Разве никто не знает причин?
    Код инициализации движка скопирован полностью с жомтубовского ajax файла, НО там работает без сбоев, а у меня во такие пироги.

    Как хоть найти то проблемное место?
     
  6. Offline

    Legolazzzzz Недавно здесь

    Регистрация:
    02.06.2010
    Сообщения:
    25
    Симпатии:
    1
    Пол:
    Мужской
    Попробуйте покопаться и поэкспериментировать в настройках сайта через админ панель - там есть настройки авторизации, и самое главное, настройки длительности авторизованности.
     

Поделиться этой страницей

Загрузка...