首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用php重置http-auth

用php重置http-auth
EN

Stack Overflow用户
提问于 2010-07-12 05:35:20
回答 3查看 1.5K关注 0票数 0

有没有办法告诉Apache应该重新启动会话并删除现有的http-auth?

我有一个系统,其中用户首先使用http-auth对apache进行身份验证,然后对PHP-Application中的服务进行授权。一旦用户注销,我更愿意以某种方式重置现有的http-auth。

有什么想法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-07-12 06:05:31

不幸的是,在涵盖HTTP身份验证的各种RFC中没有定义让用户注销。

模拟它的唯一方法是返回一个401响应,它将告诉浏览器发送的凭据无效。不幸的是,浏览器将提示用户重新登录,这可能不是您希望发生的事情。

票数 3
EN

Stack Overflow用户

发布于 2010-07-12 06:06:39

当浏览器使用Http Basic Auth进行身份验证时,它会在所有后续请求中将有效的authorization标头发送到该服务器。

不过,this manual entry中的示例#8显示了一种要求浏览器重新进行身份验证的方法。只有当浏览器尊重该请求时,它才会起作用,而您可能必须编写一种方法,在用户注销后第一次返回时强制执行此操作,而不是在注销时。(否则,他们将注销并立即再次被要求提供凭据。)

票数 0
EN

Stack Overflow用户

发布于 2010-07-12 07:03:39

最常用和最推荐的方法是:

  • 使用WWW- Unauthorized
  • ask:

为不同的报头发送401报头

但是你可以通过以下方式来增加:

  • 尝试通过XmlHTTPRequest向后续登录->发起这两个请求(401 +新域)作为后续登录

,这样浏览器更有可能丢弃以前的凭据

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3224705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档