有没有办法告诉Apache应该重新启动会话并删除现有的http-auth?
我有一个系统,其中用户首先使用http-auth对apache进行身份验证,然后对PHP-Application中的服务进行授权。一旦用户注销,我更愿意以某种方式重置现有的http-auth。
有什么想法吗?
发布于 2010-07-12 06:05:31
不幸的是,在涵盖HTTP身份验证的各种RFC中没有定义让用户注销。
模拟它的唯一方法是返回一个401响应,它将告诉浏览器发送的凭据无效。不幸的是,浏览器将提示用户重新登录,这可能不是您希望发生的事情。
发布于 2010-07-12 06:06:39
当浏览器使用Http Basic Auth进行身份验证时,它会在所有后续请求中将有效的authorization标头发送到该服务器。
不过,this manual entry中的示例#8显示了一种要求浏览器重新进行身份验证的方法。只有当浏览器尊重该请求时,它才会起作用,而您可能必须编写一种方法,在用户注销后第一次返回时强制执行此操作,而不是在注销时。(否则,他们将注销并立即再次被要求提供凭据。)
发布于 2010-07-12 07:03:39
最常用和最推荐的方法是:
为不同的报头发送401报头
但是你可以通过以下方式来增加:
,这样浏览器更有可能丢弃以前的凭据
https://stackoverflow.com/questions/3224705
复制相似问题