2014-02-14 73 views
6

我正在嘗試將ckfinder與ckeditor整合。除了一個,一切都可以。當我嘗試上傳圖片,我得到這個錯誤(請查看圖像)無法使用ckeditor配置ckfinder

Unable to configure ckfinder with ckeditor

它說 「文件瀏覽器是出於安全考慮停用,請與系統管理員聯繫,並檢查CKFinder配置文件「

任何人都可以幫我嗎?請。

+0

有時重新登錄會解決這個問題,並檢查該第一,如果你沒有看到這一點錯誤之前。 –

回答

7

看在ckFinder config文件,你會看到這樣的功能:

function CheckAuthentication() 
{ 

    return false; 
} 

默認CheckAuthentication()這是出於安全原因禁用,因爲它會允許任何人將文件上傳到服務器。

出於測試目的,您可以返回true,但重點在於您實現了一些邏輯以僅授權經過認證的用戶。

function CheckAuthentication() 
{ 
    //put some logic here 

    return isset($_SESSION['IsAuthorized']) && $_SESSION['IsAuthorized']; 
} 
+1

謝謝!你解決了我的問題...我正在尋找這個,因爲2天,但是,找不到確切的解決方案。 再次感謝... – muaaz

+0

是的,就是這樣! 你會期望類似的東西成爲安裝指南的一部分... –

+0

@meda,兄弟你可以請看看我的問題https://stackoverflow.com/questions/45340568/how-to-change- image-save-location-in-ckeditor-drupal-7? –

0

一個簡單的解決方案是使用一個總是返回true的函數強制認證方法,在你的配置文件中使用下面的代碼。

你的腳本(笨):

if(login()){ 
    set_cookie('ckf_role','admin',2592000*10); // 10 month 
} 

上:

 $config['authentication'] = function() { 
      return true; 
     }; 

中東:

session_start(); 
    $config['roleSessionVar'] = 'CKFinder_UserRole'; 
    $_SESSION['CKFinder_UserRole'] = !empty($_COOKIE['ckf_role']) ? strtolower($_COOKIE['ckf_role']) : "guest"; 

    $config['accessControl'][] = array(
    'role'    => 'guest', 
    'resourceType'  => '*', 
    'folder'    => '/', 
    'FOLDER_VIEW'   => false, 
    'FOLDER_CREATE'  => false, 
    'FOLDER_RENAME'  => false, 
    'FOLDER_DELETE'  => false, 
    'FILE_VIEW'   => false, 
    'FILE_UPLOAD'   => false, 
    'FILE_RENAME'   => false, 
    'FILE_DELETE'   => false, 
    'IMAGE_RESIZE'  => false, 
    'IMAGE_RESIZE_CUSTOM' => false 
    ); 

    $config['accessControl'][] = array(
    'role'    => 'admin', 
    'resourceType'  => '*', 
    'folder'    => '/', 
    'FOLDER_VIEW'   => true, 
    'FOLDER_CREATE'  => true, 
    'FOLDER_RENAME'  => true, 
    'FOLDER_DELETE'  => true, 
    'FILE_VIEW'   => true, 
    'FILE_UPLOAD'   => true, 
    'FILE_RENAME'   => true, 
    'FILE_DELETE'   => true, 
    'IMAGE_RESIZE'  => true, 
    'IMAGE_RESIZE_CUSTOM' => true 
    );