基本的http身份验证 - 会话的持续时间

Eli*_*jah 2 basic-authentication ruby-on-rails-3

我已配置基本身份验证(在控制器中)

在控制器文件中的所有内容

before_filter :check_logged_in, :only => [:edit, :update, :destroy]
Run Code Online (Sandbox Code Playgroud)

在文件的底部:

 private
  def check_logged_in
    authenticate_or_request_with_http_basic("Ads") do |username, password|
            username == "admin" && password == "apple"
    end
end
Run Code Online (Sandbox Code Playgroud)

它就像一个魅力,但有一件事我不明白 - 当我提供用户名和密码时,它会长时间保持登录状态,当我点击"删除"或"更新"特定条目时我会我没有得到再次提示.我认为出了问题,但是当我打开另一个浏览器时 - 它再次提示我,但只有一次,我没有;我必须对其余的进行身份验证.然后我认为这是一个cookie问题,但即使我删除了Chrome中的所有Cookie,也没有任何改变.所以我有几个问题:

  1. 有什么方法可以说我要经过多长时间的认证?
  2. 每次点击这里提到的资源时,有什么方法可以提示进行身份验证:check_logged_in, :only => [:edit, :update, :destroy]吗?

小智 7

HTTP基本身份验证不使用cookie.登录信息随每个HTTP请求一起发送到指定的Web服务器.您已登录,直到您关闭Web浏览器或删除所有活动登录.