Rails 3.0.7 Restful_Authentication, почему destroy пытается войти в систему из cookie, а другие нет? - PullRequest
0 голосов
/ 15 июня 2011

У меня есть приложение, которое я обновляю до Rails 3, которое использует плагин restful_authentication. У меня есть authenticated_system.rb в каталоге lib, где, кажется, он может его найти. Я положил пут в библиотеку, чтобы выяснить, что она делает при каждом вызове. Когда я вызываю любой метод, кроме уничтожения, оператор put говорит мне, что он вошел в систему из сеанса. Когда я пытаюсь использовать метод уничтожения в контроллере (не имеет значения, какой именно), он говорит мне, что пытается войти в систему с помощью cookie, который завершается неудачей, потому что система настроена не использовать cookie. Зачем это делать? Код для всех них одинаков, а фильтр before просто:

def validate_user_type
if ( current_user.user_type == User::UserType::VIEWER )
redirect_to :controller => 'assets', :action => 'myassets'
end

Этот фильтр применяется ко всему Есть идеи?

Ответы [ 2 ]

0 голосов
/ 06 июля 2011

Я нашел это, но никогда не публиковал, проверьте макет приложения на наличие тэгов csrf, если их там нет, то это может сделать что-то интересное.Это была проблема.

0 голосов
/ 05 июля 2011

Попробуйте button_to вместо link_to, чтобы удалить действия.

У меня была та же проблема, потому что я использовал link_to с опцией: remote.
Это не передавало аутентичный_токен в сообщениипараметров, и, следовательно, restful_authentication терпел неудачу.

Я переключился на использование button_to, authenticity_token был включен, и мои удаления начали работать.

...