CakePHP 1.3: CKEditor с разрешением FileManager (ИСПРАВЛЕНО!) - PullRequest
1 голос
/ 25 марта 2012

Я пытаюсь реализовать CKEditor в моем разделе администрирования приложения CakePHP с помощью стороннего файлового менеджера (http://labs.corefive.com/2009/10/30/an-open-file-manager-for-ckeditor-3-0/).

Все было хорошо настроено, включая загрузку фотографий и т. Д. Однако у меня есть одна БОЛЬШАЯ проблема, которую я не могу понять, как ее исправить.

В файле filemanager.config.php есть функция auth(), которая предотвращает несанкционированное использование FileManager. Я не уверен, как реализовать эту функцию, чтобы ТОЛЬКО позволить администратору моего приложения использовать . В таблице моего пользователя я использую group_id для классификации пользователей, а administrators group_id - это 1.

Я думал о _SESSION, но не смог создать решение.

/**
*   Check if user is authorized
*
*   @return boolean true is access granted, false if no access
*/
function auth() {
    // You can insert your own code over here to check if the user is authorized.
    // If you use a session variable, you've got to start the session first                                               
    session_start();
    if ($_SESSION['User.group_id'] == 1){
        return true;
    }else{
        return false;
    }
}

Заранее благодарю за помощь.

=============================================== ======================================

РЕДАКТИРОВАТЬ

У меня были неверные настройки

  1. Я использовал мой сеанс CakePHP в качестве базы данных, я изменил его на php.
  2. И мой код $ _SESSION был неверным

Я смог исправить это следующим образом:

function auth() {
    session_name("CAKEPHP");
    session_start();
    if(isset($_SESSION['Auth']['User']) )
    {
        if($_SESSION['Auth']['User']['group_id'] == 1)
        {
            return true;
        }
    }
    return false;
}

Отлично работает как таковой.

=============================================== =====================================

1 Ответ

1 голос
/ 25 марта 2012

Код, который вы показываете, от fceditor?Если вы правильно настроили аутентификацию в CakePHP и не изменили сеансовый ключ по умолчанию, ваши пользовательские данные будут находиться в $ _SESSIOn ['Auth'] ['User'].

В CakePHP не используйте $ _SESSION напрямую,используйте компонент Session.

...