Сбой создания сеанса authlogic при использовании в сочетании с authenticate_or_request_with_http_basic - PullRequest
0 голосов
/ 06 ноября 2010

Недавно я хотел развернуть свое приложение Rails на heroku, но хотел защитить его от внешнего мира, пока я не протестировал его на самой heroku.Чтобы защитить его, я использовал authenticate_or_request_with_http_basic.Однако после прохождения базовой аутентификации и желания войти (система входа в систему с использованием authlogic) я обнаружил, что authlogic не запоминает сеанс (например, current_user == nil).

Без authenticate_or_request_with_http_basic before_filter работы authlogic сеансовхорошо.

Кто-нибудь знает, почему это так и как заставить их работать вместе?

Заранее спасибо.

PS: Просто чтобы быть ясно, моя цель не , чтобы иметь возможность использовать авторизованных пользователей с authenticate_or_request_with_http_basic.

PPS: я использую Rails 3 и git: //github.com/odorcicd/authlogic.git

1 Ответ

6 голосов
/ 06 ноября 2010

У меня тоже есть эта проблема! Я попытаюсь разобраться, смогу ли я что-нибудь придумать ...

РЕДАКТИРОВАТЬ: Исправление состоит в том, чтобы запретить базовую аутентификацию HTTP в сеансе Authlogic ...

class UserSession < Authlogic::Session::Base
    allow_http_basic_auth false
end

Я почти уверен, что это ошибка в Authlogic. Проблема в этом методе:

Authlogic::Session::HttpAuth::InstanceMethods#allow_http_basic_auth?

, который возвращает истину при использовании HTTP Basic, даже в других местах вашего приложения.

...