我有这样的结构:

/home
/home/dir1
/home/dir2

现在,当有人进入到/ home,他被要求输入用户名和密码(在表格的),我设置会话信息在PHP中的/ home的剩余的文件。现在的/ home / DIR1和/ home / DIR2被htpasswd的,但相同的用户名和密码保护。我不希望用户当他们去到/ home / dir1将重新输入用户名和密码......而且当我从/家注销,我想从/家/ DIR1也注销。能否请您就如何实现这一建议?

有帮助吗?

解决方案

这应该是默认行为。

也就是说,如果你使用的是Apache和.htaccess文件来设置HTTP认证,你申请到一个目录中的任何规则也将适用于它的子目录,它会被浏览器作为一个所有登录处理。

如果你希望它采取不同的,也就是说,如果你想要的网站的某些部分被视为需要一个完全独立的登录,您将指定使用在.htaccess authname的指令,每节“境界”。 这里更多信息。但是,如果你不这样做,它会永远被视为同一个登录的一部分。

约HTTP认证的事情是,没有办法为“注销”,至少不会除非浏览器提供该功能。只有这样,大多数浏览器将允许您将您注销是通过结束浏览器会话(即关闭浏览器)。是的,一旦你这样做,你会被登出/家/家/ DIR1,/家庭/ DIR2和所有站点的所有目录/领域。

其他提示

在Apache的,只要这两个文件夹具有相同的 AuthName指令的和是他们应该分享密码相同的站点。

这两个目录可能具有像这样.htaccess文件:

AuthName "My Protect Folder"
AuthType basic
AuthUserFile /somewhere/htusers
require valid-user
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top