JQuery Ajax вызывает в Rails 3 получение 401 несанкционированного запроса - PullRequest
2 голосов
/ 11 ноября 2011

У меня есть приложение Rails 3.1, которое использует devise для аутентификации.Я пытаюсь сделать звонок через ajax на URL.Почему-то я продолжаю получать 401 Несанкционированный доступ.Здесь я ознакомился с руководством http://henrik.nyh.se/2008/05/rails-authenticity-token-with-jquery по проверке подлинности запросов jQuery.Код запроса:

        $.get('/chromosomes.json', {sequence_start: '10', sequence_end: '100'},
        function(data){
                        alert(data)
       }, 'json');

. Странно то, что на сервере я вижу

Запущен GET "/chromosomes.json?sequence_start=10&sequence_end=100&_=1320958293654" для 127.0.0.1 в четверг 10 15:51:33 -0500 2011 Обработка в ChromosomesController # index как JSON Параметры: {"sequence_start" => "10", "_" => "1320958293654", "sequence_end" => "100"}Завершено за 10 мс

В моем контроллере у меня есть:

before_filter :authenticate_user!

def index

        respond_to do |format|
      format.html
      format.json  { render :json => @chromosomes }
    end
end

По какой-то причине токен сеанса аутентификации не передается Rails.Если я удалю authenticate_user!перед фильтром работает нормально !?Любая помощь очень ценится.Спасибо!

Ответы [ 2 ]

4 голосов
/ 11 ноября 2011

Я исправил эту проблему, добавив: token_authenticatable в мою модель пользователя.Это позволяет пользователям проходить аутентификацию по токенам сеансов.

0 голосов
/ 27 мая 2013

Я разрабатываю с помощью angularjs для отправки запросов REST, поэтому я использую ng-rails-csrf gem для добавления токена csrf в каждый запрос ajax, отправляемый для аутентификации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...