2011-06-19 18 views
1

rails-ckeditorを使用して、いつでも「ブラウズサーバー」と「アップロード」ボタンを使用して画像をアップロードしようとすると401例外が発生します。ckeditorプラグインと基本認証の問題

class ApplicationController < ActionController::Base 
    protect_from_forgery 

    before_filter :authenticate 

    def logged_in? 
    # cookies[:auth].present? 
    end 

    def authenticate 
    # unless logged_in? 
     authenticate_or_request_with_http_basic do |login, password| 
     if(login == "user1" && password == "password") 
      cookies.permanent.signed[:auth] = login 
     end 
     end 
    # end 
    end 

    def current_church 
    @current_church ||= Church.first 
    end 

end 

私が基本認証を無効にすると、すべて正常に動作します。これに対する救済はありますか?

おかげ-wg

+0

SWFUploadを使用しているようです。そうです。 – wgpubs

答えて

0

問題はクッキーを送信するためにSWFUploadの(フラッシュ)を使用しています。

このリンクは、私は正しい方向に見てしまった: http://ruby-on-rails-development.co.uk/2011/05/23/securing-ckeditor-file-management

ソリューションは、以下の添加でその記事からdirectiosnに従うことです:flash_session_cookie_middleware.rbファイルで

  1. を追加します

    env ['HTTP_COOKIE'] = ['auth'、params ['auth']] .join( '=')。フリーズ

  2. base_helper.rbファイルでは(下/アプリ/ヘルパー/ CKEditorバージョン)次の行を追加します。

    オプション[ 'AUTH'] =ラック:: Utils.escape(クッキー[:AUTH])

この宝石の最新のソースは、セッションベースのトークンと真正性トークンをすでに処理しています。この単純なハックは、認証チケットを管理するためのCookieベースのアプローチを使用する場合にのみ必要です。