3

我在我的应用程序中实现了 http 基本身份验证,在实现基本 http 身份验证后,当前用户在生产模式下始终为 nil。粘贴在我的代码下方供您参考。

在应用程序控制器中:

def authenticate_user
  if (Rails.env.production? && current_user_session.nil?)
    authenticate_or_request_with_http_basic do |username, password|
      username == HTTP_AUTHENTICATION_USERNAME && password == HTTP_AUTHENTICATION_PASSWORD
    end
  end
end

HTTP 凭证取自初始化文件的位置。

HTTP_AUTHENTICATION_USERNAME="xxxx"
HTTP_AUTHENTICATION_PASSWORD="yyy"

我也在用户会话模型中尝试了“allow_http_basic_auth false”,但它没有解决问题。

4

1 回答 1

0

我认为问题可能出在您的陈述上

if (current_user_session.nil?)

根据我在此处找到的文档 - Authlogic 文档,即使对于匿名用户,current_user_session 似乎也从未真正为零。

尝试使用:

if (current_user.nil?)
于 2012-09-10T04:20:10.180 回答