Rails authenticate_or_request_with_http_basic

时间:2010-09-16 01:46:41

标签: ruby-on-rails

当用户尝试通过此方法连接时,它会失败。我如何redirect_to?提前致谢。

    class ApplicationController < ActionController::Base
  protect_from_forgery

  USER_NAME, PASSWORD = "admin", "admin"
  helper_method :authenticate

  private
  def authenticate
    begin
      authenticate_or_request_with_http_basic do |user_name, password|
        user_name == USER_NAME && password == PASSWORD
      end
    rescue
      "HTTP Basic: Access denied"
    else

      redirect_to root_path
    end

  end
end

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

过去,我们已将authenticate设为before_filter,只会执行authenticate_or_request_with_http_basic,然后我们的重定向/渲染会在各自的操作中发生。< /击>

我刚刚重新阅读了您的问题&amp;代码示例。你到底想要发生什么?验证失败时重定向?

编辑:我从来没有这样做,但似乎尝试follow the docs可能是你最好的选择,特别是“更先进的基本例子。”

我最终对基本身份验证的内部工作方式还不了解,但它让我感到震惊,因为它也可以归结为Apache /(在这里插入你真棒的Web服务器)配置。如果我错了,有人肯定会纠正我。