0

我为普通用户设置了基本的用户名和密码验证

我只想要一个用户名和密码的 IP 访问权限

例如,用户 1 连接,test如果test 用户 1 仍然通过基本身份验证连接到服务器,并且用户 2 请求使用相同的用户名和密码访问服务器,则用户 2 无法访问服务器,直到用户 1 与服务器断开连接。

4

1 回答 1

2

这对于 HTTP 基本身份验证是不可能的,因为 HTTP 没有持续时间长于单个页面或图像的所有数据传输时间的活动连接。如果传输了所有数据,则终止连接。这应该是让第二个用户进入的正确时间吗?如果是这样,限制你的 apache 一次只接受一个连接(即只允许一个子进程),你就完成了。

如果你想要这个更像我认为你想要的那样,你必须在你的应用程序中通过会话自己实现它,并且必须处理这样一个事实,即用户通常不会将自己从应用程序中注销,而只是关闭浏览器。因此,经过一定时间后,必须将第一个用户视为非活动用户并终止其会话以让第二个用户进入。

顺便说一句:请记住,HTTP 基本身份验证无法实现“注销”!所有模拟这种情况的解决方案实际上只会向浏览器发送另一个身份验证挑战,这使得它忘记了登录并再次要求用户提供凭据。这不能用 .htaccess 来实现。

于 2013-03-27T23:07:39.263 回答