我已在我的应用程序中实现了http基本身份验证,在执行基本的http身份验证后,当前用户在生产模式下总是为零。粘贴在我的代码下面供您参考。
在应用程序控制器中:
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”,但它没有解决问题。
答案 0 :(得分:0)
我认为问题可能是你的陈述
if (current_user_session.nil?)
根据我在此处找到的文档 - Authlogic documentation,即使对于匿名用户,current_user_session似乎也不会为零。
尝试使用:
if (current_user.nil?)