当用户尝试通过此方法连接时,它会失败。我如何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
答案 0 :(得分:1)
答案 1 :(得分:0)
过去,我们已将authenticate
设为before_filter
,只会执行authenticate_or_request_with_http_basic
,然后我们的重定向/渲染会在各自的操作中发生。< /击>
我刚刚重新阅读了您的问题&amp;代码示例。你到底想要发生什么?验证失败时重定向?
编辑:我从来没有这样做,但似乎尝试follow the docs可能是你最好的选择,特别是“更先进的基本例子。”
我最终对基本身份验证的内部工作方式还不了解,但它让我感到震惊,因为它也可以归结为Apache /(在这里插入你真棒的Web服务器)配置。如果我错了,有人肯定会纠正我。