2011-06-19 33 views
1

使用rails-ckeditor,我在嘗試使用「瀏覽服務器」然後點擊「上傳」按鈕上傳圖片時遇到401異常。我保證我的網站現在使用簡單的基本身份驗證這種使用rails 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:

  1. 在flash_session_cookie_middleware.rb文件中添加

    env ['HTTP_COOKIE'] = ['auth',params ['auth']] .join('=')freeze

  2. 在base_helper.rb文件(下/應用/助手/ CKEditor的)中添加以下:

    選項[ 'AUTH'] =機架:: Utils.escape(餅乾[:AUTH])

此gem的最新源代碼已處理基於會話的令牌和真實性令牌。如果您使用基於cookie的方法來管理身份驗證票據,則只需要這種簡單的入侵。