Я использую Authlogic 2.1.6 для авторизации в Rails 3.0.5 и у меня проблема с файлом cookie сеанса с AJAX-запросами.
После вызова POST или PUT AJAX я получаю ответ 401 иновый сеансовый ключ.После этого каждый звонок вернет 401 ответ.Перед вызовом POST или PUT каждый вызов GET завершается успешно.
Это не происходит в тестовом режиме, только в режиме разработки и производства.
Кто-нибудь знает, как этого избежать?
РЕДАКТИРОВАТЬ: Я думаю, что есть проблема с ключом подлинности защиты от подделки, потому что после отключения защиты от подделки все работало нормально.
Это заголовок запроса, который выдаст 401:
Accept:*/*
Cache-Control:max-age=0
Content-Type:application/json; charset=UTF-8
Origin:http://localhost:3000
Referer:http://localhost:3000/
User-Agent:Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; de-de) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4
X-Requested-With:XMLHttpRequest
Запись в журнале Rails выглядит следующим образом:
Started POST "/users.json" for 127.0.0.1 at Tue Apr 12 10:47:33 +0200 2011
Processing by UsersController#create as JSON
Parameters: {"user"=>{"password_confirmation"=>"[FILTERED]", "group_id"=>2, "lastname"=>"test1", "prename"=>"test1", "password"=>"[FILTERED]", "login"=>"test1"}}
Rendered text template (0.0ms)
Completed 401 Unauthorized in 19ms (Views: 0.9ms | ActiveRecord: 3.0ms)
EDIT2:
Следующая странная вещь: я отправляю заголовок BASIC AUTHвместо куки с идентификатором сессии я не получаю 401, очень странно