rails authlogic 在使用 http 基本身份验证后找不到 current_user (nil)

rails authlogic can't find current_user (nil) after using http basic authentication

我正在使用

rails => 3.0.20

授权逻辑 => 3.0.3

在使用http basic authentication之前是没问题的。 但是在使用它之后,用 'http basic user name and pass' 成功登录后 我必须使用从数据库中检索到的应用程序用户名和密码登录。它也成功地完成了。然后它被重定向到需要当前用户的默认方法。但是 current user returns nilUserSession.find 也 returns nil

知道为什么会话对象 return nil 吗?

如果您正在使用 authlogicrails 3,我相信如果您在 user_session.rb 模型中添加以下代码,它可能会起作用:

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

Not sure why this is a problem with this Rails/Authlogic/HTTP combination, but anyways, the fix was to add this one-liner to your UserSession model

点赞 Chris Irish here 我在他的博客中找到了这个。