Как передать данные сеанса в CKFinder с CodeIgniter 3.x?

Я знаю, что уже существует существующий вопрос, идентичный этому ( Как передать сессию в ckfinder в codeigniter 3?), Но это не помогает вообще. Там только 1 ответ, и он не работает для меня, и очень мало объяснений.

У меня есть сайт CI, на котором пользователь может войти и редактировать некоторые вещи, используя CKEditor. Я также установил CKFinder, но я не могу передать какие-либо данные сеанса в файл конфигурации CKFinder для проверки подлинности имени входа в целях безопасности. Глобальный $_SESSION переменная просто возвращает Array() 1 и не содержит никаких данных сеанса (и да, я использую session_start();).

Используя ответ другого поста в качестве основы, я попытался извлечь данные из $_COOKIE но, казалось, не было ничего особенно полезного. Здесь нет ci_session в данных cookie. Ближайшая вещь PHPSESSID но я не смог получить от этого ничего полезного.

Любая помощь будет оценена. Я уже слишком долго занимался этим проектом. Спасибо!

1 ответ

Решение

Вы не должны изменять конфигурационный файл, записывая его для каждого пользователя. Поскольку это коммерческое приложение, я не могу просмотреть документы для него, но это может помочь.

  1. Установите ссылку на странице пользователя на CKfinder, чтобы показывать только, если пользователь вошел в систему.
  2. Установите ссылки CKfinder контроллера в CI, чтобы определить, вошел ли пользователь в систему или нет и разрешен ли (то есть аутентифицирован и авторизован), в противном случае запрос отклоняется.
  3. Либо создайте библиотеку CI для CKfinder, которая запускает ее из CI.

Хорошо зная CKeditor, я уверен, что CKfinder будет достаточно хорошо документирован, чтобы достаточно легко интегрироваться с фреймворками и существующими системами. CKeditor - прекрасный скрипт (хотя и с ограничениями), поэтому я бы предположил, что такое же качество применимо и к CKfinder.

И да, данные сеанса CI не доступны вне CI. Сторонние приложения, подобные этому, могут быть интегрированы с CI с использованием стандартных включений напрямую или с библиотекой и т. Д. В рамках CI. Фактически, одна из замечательных особенностей CI - это возможность писать небольшие библиотеки, которые могут легко включать практически любое стороннее приложение с относительной простотой реализации.

Эта ссылка поможет: Codeigniter 3 - Сеанс доступа из внешней установки Codeigniter

Без дальнейших примеров кода или более точного примера проблемы я не совсем уверен, как я могу помочь больше, чем это. Я надеюсь, что это могло бы помочь, но, вероятно, это не так. Сожалею.

Другие вопросы по тегам