Ckeditor配置

  • 配置參考文檔,主要將ckeditor中的(adapters、images、lang、plugins、skins、themes、ckeditor.js、config.js、contents.css)解壓到js目錄,而後「顯示全部文件」,將ckeditor的目錄「包含在項目中」,在發帖頁面引用ckeditor.js,而後設置多行文本框的class="ckeditor"(CSS強大)(服務端控件CssClas=" ckeditor ",客戶端控件要設定cols、rows屬性,通常不直接用html控件),代碼中仍然能夠經過TextBox控件的Text屬性來訪問編輯器內容。
  • 因爲頁面提交的時候asp.net會把富文本編輯器中的html內容當成攻擊內容,所以須要在aspx中的Page標籤中設置 ValidateRequest="false" 來禁用攻擊檢測(2010中還要根據報錯信息修改WebConfig來禁用XSS檢測)。
  •  CKFinder是一個CKEditor插件,用來爲CKEditor提供文件的上傳的功能。將bin\Release下的CKFinder.dll添加到項目的引用;將core、ckfinder.js、ckfinder.html、config.ascx解壓到CKFinder本身的目錄。按照文檔修改CKEditor的config.js,將上傳的處理程序設定爲CKFinder,注意路徑的問題。

  • 使用測試,在插入超連接、插入圖片、插入文件中都有「上傳」

  • 由於上傳文件是很是危險的動做,所以在文件上傳的時候會進行權限校驗。在config.ascx的CheckAuthentication方法中校驗是否有權限上傳,返回true表示有權限,不然沒有權限,通常修改爲判斷用戶是否登陸,而且登陸用戶是有上傳權限的用戶,能夠用Session或者Membership來作。思考:如何實現只有指定IP地址的用戶才能上傳?
  • 在SetConfig函數中設置上傳文件夾的位置BaseUrl、縮略圖的位置,每種類型數據的上傳路徑、容許上傳的文件類型AllowedExtensions等。

爲了使用ckfinder還須要在vs2010的web.config中加入
 <!-- 爲了使用ckeditor -->
        < pages validateRequest = " false " />
        < httpRuntime requestValidationMode = " 2.0 " />
 <!-- 爲a了使用ckeditor -->
以及



  • 使用ckfinder的配置,在ckeitor的config.js文件中加入以下
  • 還須要複製出「CKFinder.dll」添加到項目的引用中

var ckfinderPath = "/SCDAadmin/js" ;
    config.filebrowserBrowseUrl = ckfinderPath + '/ckfinder/ckfinder.html' ;
    config.filebrowserImageBrowseLinkUrl = ckfinderPath + '/ckfinder/ckfinder.html?Type=Images' ;
    config.filebrowserFlashBrowseLinkUrl = ckfinderPath + '/ckfinder/ckfinder.html?Type=Flash' ;
    config.filebrowserUploadUrl = ckfinderPath + '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Files' ;
    config.filebrowserImageUploadUrl = ckfinderPath + '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Images' ;
    config.filebrowserFlashUploadUrl = ckfinderPath + '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Flash' ;


這時候仍是有安全限制

打開ckfinder的config.ascx
修改裏面的
public override bool CheckAuthentication()
       {
               // WARNING : DO NOT simply return "true". By doing so, you are allowing
               // "anyone" to upload and list the files in your server. You must implement
               // some kind of session validation here. Even something very simple as...
               //
               //            return ( Session[ "IsAuthorized" ] != null && (bool)Session[ "IsAuthorized" ] == true );
               //
               // ... where Session[ "IsAuthorized" ] is set to "true" as soon as the
               // user logs on your system.
              object obj = Session[ "admin_login" ];
        if (obj != null && Convert .ToBoolean(obj) == true )
            return true ;
        else
            return false ;
               return false ;
                }
相關文章
相關標籤/搜索