Проблема с плагином рельсов ckeditor и базовой аутентификацией - PullRequest
1 голос
/ 19 июня 2011

Используя rails-ckeditor , и я получаю исключение 401 каждый раз, когда я пытаюсь загрузить изображение с помощью кнопок "Обзор сервера" и затем "Загрузить". Сейчас я защищаю свой сайт с помощью простой базовой аутентификации как таковой

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

1 Ответ

0 голосов
/ 22 июня 2011

Проблема в использовании SWFUpload (flash) для отправки куки.

Эта ссылка заставила меня взглянуть в правильном направлении: http://ruby -on-rails-development.co.uk / 2011/ 05/23 / securing-ckeditor-file-management

Решение состоит в том, чтобы следовать указаниям из этой статьи со следующими дополнениями:

  1. Вflash_session_cookie_middleware.rb file add

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

  2. В файле base_helper.rb (в / app / helpers / ckeditor) добавьте следующее:

    options ['auth'] = Rack :: Utils.escape (cookies [: auth])

Последний источник для этого драгоценного камня уже обрабатывает токены на основе сеанса и токен аутентификации.Этот простой взлом необходим, только если вы используете подход, основанный на использовании файлов cookie, для управления вашим билетом аутентификации.

...