Web applications 如何使用域清除凭据?

Web applications 如何使用域清除凭据?,web-applications,servlets,web,alfresco,realm,Web Applications,Servlets,Web,Alfresco,Realm,我真的很想知道领域的用法。说 现有浏览器保留身份验证信息,直到选项卡或 浏览器已关闭或用户已清除历史记录。[1]HTTP未关闭 为服务器提供一种方法,以指示客户端放弃这些 缓存的凭据。这意味着没有有效的方法来解决问题 服务器在不关闭浏览器或使用浏览器的情况下“注销”用户 URL中的会话 在我的代码中 res.setStatus(HttpServletResponse.SC_UNAUTHORIZED); res.setHeader("WWW-Authenticate", "Basic realm=

我真的很想知道领域的用法。说

现有浏览器保留身份验证信息,直到选项卡或 浏览器已关闭或用户已清除历史记录。[1]HTTP未关闭 为服务器提供一种方法,以指示客户端放弃这些 缓存的凭据。这意味着没有有效的方法来解决问题 服务器在不关闭浏览器或使用浏览器的情况下“注销”用户 URL中的会话

在我的代码中

res.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
res.setHeader("WWW-Authenticate", "Basic realm=\"Alfresco\"");
因此,站点请求基于领域的身份验证。一旦请求,用户名和密码就会保存在某个地方,直到删除浏览器缓存或浏览历史记录,这些信息才会被保存

我的问题是有没有一种方法可以使用servlet清除服务器中的此类凭证? 非常感谢您的帮助

参考:

服务器将永远无法对浏览器进行如此级别的控制。处理帐户详细信息泄漏的唯一安全方法是立即使帐户无效或锁定,并使与之相关的所有用户会话过期。web服务器能够完成所有此类操作

从:


这基本上意味着,一旦您成功地进行了一次身份验证,浏览器就可以安全地假定相同根URL下的所有资源都可以使用相同的凭据进行访问。没有标准的方法来设置HTTP基本凭据上的客户端超时。

您可能想看看这个答案:

基本身份验证对我来说似乎没用


如果可以,您希望切换到表单身份验证。

无法使用服务器端/客户端代码清除浏览器缓存,因为这将是一个巨大的安全漏洞。
   The realm attribute (case-insensitive) is required for all
   authentication schemes which issue a challenge. The realm value
   (case-sensitive), in combination with the canonical root URL of the
   server being accessed, defines the protection space