我真的想知道 realm 的用法。 http://en.wikipedia.org/wiki/basic_access_agentication

现有浏览器将在标签或之前保留身份验证信息 浏览器已关闭,或者用户清除历史记录。[1] http没有 提供服务器的方法,以指导客户端丢弃这些 缓存凭据。这意味着没有有效的方法 服务器“注销”用户而不关闭浏览器或使用 在URL中的会话。

在我的编码中

res.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
res.setHeader("WWW-Authenticate", "Basic realm=\"Alfresco\"");
.

所以站点请求基于域的身份验证。一旦它请求,用户名和密码保存在某个地方,直到删除浏览器缓存或浏览历史记录,将保存此信息。

我的问题是有没有办法在服务器中使用servlet清除此类凭据? 任何帮助都非常感谢!

ref: realm术语在安全性的确切用途是什么?< / a>

有帮助吗?

解决方案

服务器不会对浏览器进行这样的控制级别。处理帐户详细信息泄露的唯一安全方法是及时无效或锁定帐户并将所有已绑定的用户会话过期。Web服务器能够完成所有此类操作。

规格

   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
.

它基本上意味着一旦成功认证一次,浏览器可以安全地假设相同根URL下的所有资源都可以使用相同的凭据访问。在HTTP基本凭据上设置客户端超时没有标准方法。

其他提示

您可能希望看看这个anwer:如何强制码头以在使会话无效后询问具有基本身份验证的凭据?

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

如果可以,要切换以形成身份验证。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top