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

时间:2011-11-18 02:19:03

标签: ruby-on-rails-3 basic-authentication

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

位于控制器文件中的所有内容:

before_filter :check_logged_in, :only => [:edit, :update, :destroy]

在文件底部:

 private
  def check_logged_in
    authenticate_or_request_with_http_basic("Ads") do |username, password|
            username == "admin" && password == "apple"
    end
end

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

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

1 个答案:

答案 0 :(得分:6)

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

相关问题