Я пытаюсь реализовать CKEditor в своем разделе администрирования приложения CakePHP с сторонним файловым менеджером (http://labs.corefive.com/2009/10/30/an-open-file-manager-for-ckeditor-3-0/).CakePHP 1.3: CKEditor с разрешением FileManager (FIXED!)
Все было хорошо налажено, включая загрузку фотографий и т. Д. Однако у меня есть одна БОЛЬШАЯ проблема, о которой я не могу понять, как исправить.
В файле 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;
}
}
Заранее благодарю вас за помощь.
=============================================================================================================================================== =======================================
EDIT
Я имел вся установка неправильная
- Я использовал мой сеанс CakePHP как базу данных, я изменил его на php.
- И мой $ _SESSION код был неправильно
я был в состоянии исправить это в следующем:
function auth() {
session_name("CAKEPHP");
session_start();
if(isset($_SESSION['Auth']['User']))
{
if($_SESSION['Auth']['User']['group_id'] == 1)
{
return true;
}
}
return false;
}
Он прекрасно работает как таковой.
Исправлено. Ваш ответ дал мне подсказку и поставил меня в правильном направлении к моему решению. Во-первых, я использовал базу данных для хранения своих сеансов, а во-вторых, код $ _SSIONSION был неправильным. См. Мой EDIT. БЛАГОДАРЯ! –
Добро пожаловать. :) Вы также можете настроить CakePHP для использования базы данных для сеансов. Он поставляется с поддержкой сеансов php, файлов и баз данных, и вы можете расширить его на все, что вам нужно. Также проверьте компонент CakePHP Auth. – burzum
Да, я знал об этом. Я переключил его обратно на 'php' временно, пока не создам функцию, которая проверяет cake_session для информации, которую мне нужно, чтобы разрешить использование FileManager. –