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 documentationによると、匿名ユーザーであっても、 current_user_session が実際には nil になることはないようです。

使用してみてください:

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