Запуск процессора у не авторизованных

Здравствуйте, уважаемые MODX-разработчики!

Как не авторизованному пользователю запустить CSV-импорт (с процессорами) и не очистить корзину/сессию?
Следовательно, есть магазин на miniShop2, где пользователи создают товар и потом приобретают его.
Для создания товаров используется CSV-импорт, где есть процессоры, для которых необходима авторизация.

Краткий принцип работы импорта товаров:
  • Создание товара в редакторе и его покупка.
  • Генерация CSV и отправка всех файлов на FTP.
  • Создания AJAX-запроса для «csv.php» и его отправка.
  • Получаем ID товара, подставляем в «input» и отправляем форму.
Всё работает, правда, только у вошедших пользователей.

Пробовал авторизовывать пользователя перед запросом, а после добавление товара разлогинить.
Товар создается и добавляется, авторизация всего на 1 запрос (безопасность), НО очищается корзина.

Похоже, нужен код который авторизует пользователя в «mgr» с необходимыми правами, но не совсем такой:
$response = $modx->runProcessor('security/login', array('username' => 'admin', 'password' => 'pass'));
if ($response->isError()) {
    $modx->log(modX::LOG_LEVEL_ERROR, $response->getMessage());
    return;
}
$modx->initialize('mgr');

Заранее спасибо.
marked
11 февраля 2014, 16:12
modx.pro
951
0

Комментарии: 2

Василий Наумкин
12 февраля 2014, 02:20
0
есть магазин на miniShop2, где пользователи создают товар и потом приобретают его
?!

Пробовал авторизовывать пользователя перед запросом, а после добавление товара разлогинить.
По моему, сессия очищается при разлогинивании, а не залогинивании. Можно попробовать использовать куки, чтобы сохранить данные и записать в сессию снова.
    marked
    12 февраля 2014, 15:42
    0
    Странно, но процессор «resource/create» работает только у администратора с «неограниченными правами».
    А как тогда запустить CSV-импорт авторизованным пользователям и не дать им доступ в админ-панель?

    есть магазин на miniShop2, где пользователи создают товар и потом приобретают его
    Можно представить типичный генератор принтов для футболок. Вкратце — приложение генерирует изображение на FTP, которое цепляется в CSV и отправляется на импорт.

    Можно попробовать использовать куки, чтобы сохранить данные и записать в сессию снова.
    Наверное, это выход:
    Чтение корзины => Запись в cookie => Логин => Запуск импорта => Получение ID => Импорт из cookie => Покупка

    Можно ли (любому) пользователю отправить запрос на импорт, а в ответ получить ID созданного товара?
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    2