与authenticate_or_request_with_http_basic结合使用时,authlogic会话创建失败

时间:2010-11-05 21:43:44

标签: ruby-on-rails authlogic basic-authentication

我最近想在heroku上部署我的Rails应用程序但是想要将它与外界隔离,直到我在heroku上测试它。为了屏蔽它,我使用了authenticate_or_request_with_http_basic。但是,在通过基本身份验证并希望登录(使用authlogic登录系统)之后,我发现authlogic不记得会话(例如current_user == nil)。

如果没有authenticate_or_request_with_http_basic before_filter,则authlogic会话可以正常工作。

有人知道这是为什么以及如何让两者一起工作吗?

提前致谢。

PS:为了清楚起见,我的目标是,以便能够将authlogic用户与authenticate_or_request_with_http_basic一起使用。

PPS:我使用Rails 3和git://github.com/odorcicd/authlogic.git

1 个答案:

答案 0 :(得分:6)

我也有这个问题!我打算试着看看它是否可以拿出任何东西......

编辑:修复是在您的Authlogic会话中禁止HTTP基本身份验证...

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

我很确定这是Authlogic中的一个错误。问题是这个方法:

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

在使用HTTP Basic时返回true,即使在应用程序的其他位置也是如此。