2016-05-27 11 views
1

メインWebサイト(/__adminには独自のアプリケーションがあります)から別のASP .Netアプリケーションで実行されているCMSでCKFinder 3.3を使用しています。このWebサイトはWebFormsアプリケーションです。CKFinderがIISサブアプリケーションにインストールされている場合、カスタム構成のコネクタを使用していません

問題はCKFinderコネクタが私がセットアップしたものではなく/ckfinder/connectorを指していることです。明らかに、このパスはルートアプリケーション内の何にも設定されていないため、IIS 404応答が返されます。

web.configファイル

<appSettings> 
    <add key="ckfinderRoute" value="/connector" /> 

とCKEditorバージョンは、Visual Studioのホスト(Ctrlキー+ F5)で実行するときと同じセットアップが正常に動作している

CKEDITOR.replace('ctl00_cphMain_fvItem_tbContent_Input', 
    { 
filebrowserBrowseUrl: '/__admin/CKFinderScripts/ckfinder.html?=635999758837233543', 
filebrowserImageBrowseUrl: '/__admin/CKFinderScripts/ckfinder.html?type=Images&a=635999758837233543', 
filebrowserUploadUrl: '/__admin/connector?command=QuickUpload&type=Files', 
filebrowserImageUploadUrl: '/__admin/connector?command=QuickUpload&type=Images'      
      }); 
CKEDITOR.timestamp='635999758837233543'; 

のように使用されます。 MVCアプリケーションでは、同じ設定で、これが正しく動作していることに言及しておきます。 CKFinderは、OWIN Startupクラスを介して、web.configの独自のセクションで構成され、コードでは構成されません。私はそれを試みたときに(Map(route, connectorSetup))私は同じ結果を得た。

一時修正として、次の書き換えルールをウェブサイトルートに追加しました。

<rule name="connector"> 
      <match url="^ckfinder/connector"/> 
      <action type="Rewrite" url="/__admin/connector"/> 
</rule> 

は編集:

私はどのように私のセットアップコネクタを変更しました。 Startupクラスでこれをやっているので、ckfinderRouteの設定方法を制御できます。それは外観のようです

public void Configuration(IAppBuilder builder) 
     { 
      LoggerManager.LoggerAdapterFactory = new NLogLoggerAdapterFactory(); 

      RegisterFileSystems(); 

      var route = ConfigurationManager.AppSettings["ckfinderRoute"]; 
      builder.Map(route, SetupConnector); 
     } 

SetupConnectorメソッドはweb.configから設定を読み込み、認証を追加しています。ここにコードを示すのは無関係だと思います。

私はあまりにも

<package id="CKSource.CKFinder" version="3.3.0" targetFramework="net461" /> 
    <package id="CKSource.CKFinder.Connector.Config" version="3.3.0" targetFramework="net461" /> 
    <package id="CKSource.CKFinder.Connector.Core" version="3.3.0" targetFramework="net461" /> 
    <package id="CKSource.CKFinder.Connector.Host.Owin" version="3.3.0" targetFramework="net461" /> 
    <package id="CKSource.CKFinder.Connector.KeyValue.EntityFramework" version="3.3.0" targetFramework="net461" /> 
    <package id="CKSource.CKFinder.Connector.Logs.NLog" version="3.3.0" targetFramework="net461" /> 
    <package id="CKSource.FileSystem" version="1.0.0" targetFramework="net461" /> 
    <package id="CKSource.FileSystem.Amazon" version="1.0.0" targetFramework="net461" /> 
    <package id="CKSource.FileSystem.Local" version="1.0.0" targetFramework="net461" /> 

the issue in its action

+1

サンプルWebAppと統合しているのですか、NuGetパッケージを使用していますか?ルートマッピングではこれら2つの間に若干の違いがあります。両方の設定をミックスしているようです。 – kfazi

+0

レガシーアプリケーションでNuGetを使用する。 –

+0

基本的には/__admin/CKFinderScripts/ckfinder.htmlページで/ admin/connectorの代わりに/ ckfinder/connectorを使用しています –

答えて

3

あなたのCKFinderScripts/config.jsファイルでカスタムコネクタのパスを使用するためにはJavaScriptクライアントを伝えることができ、関連するパッケージをリストアップしています:

config.connectorPath = '/__admin/connector'; 

をあなたが見つけることができますdocumentationのその他の設定オプション

+0

修正されません。私はキャッシュされたコピーを取得しないように、私はそれらのタイムスタンプも使用しています。 –

+0

私は詳細を質問で更新しました。 –

+0

キャッシュがクリアであることを確認してください。 'config.js'は' ckfinder.js'( 'CKFinderScripts/ckfinder.html'によって要求されます)から要求され、あなたのタイムスタンプクエリパラメータを使用しません。 – kfazi

関連する問題