我已经使用 meets 和 basic_auth 保护了一个目录,但似乎验证信息没有存储在 cookie 中,一段时间后它会被删除,似乎它是基于 ip 或其他什么东西的。所以我登录一次,即使我将网站保持打开状态半小时,它也不会重新请求验证。
有没有办法设置超时?也就是说,可以访问 10 分钟,之后如果单击文件则必须再次登录?
答案1
节选 缺点来自维基百科文章HTTP 身份验证
现有浏览器会保留身份验证信息,直到关闭选项卡或浏览器或用户清除历史记录为止。HTTP 不提供服务器指示客户端丢弃这些缓存凭据的方法。这意味着服务器没有有效的方法在不关闭浏览器的情况下“注销”用户。这是一个重大缺陷,需要浏览器制造商支持“注销”用户界面元素(在 RFC 1945 中提到,但大多数浏览器都没有实现)或 JavaScript 可用的 API、进一步扩展 HTTP,或使用现有的替代技术,例如使用 URL 中不可猜测的字符串通过 SSL/TLS 检索页面。
答案2
这个问题与https://stackoverflow.com/questions/8034899/%20nginx-auth-basic-time-limitation那里的答案非常有用。我不会在这里重复。