我有一个域和一组需要身份验证才能访问的子域。我目前正在使用 mod_auth 在 domain.tld 级别对用户进行身份验证(mod_auth basic)。我的目标是在域和所有子域之间进行单点登录。
这些凭证会自动继续到子域,还是通过简单的虚拟主机配置更改,或者有更好的方法来做到这一点?
我有一个域和一组需要身份验证才能访问的子域。我目前正在使用 mod_auth 在 domain.tld 级别对用户进行身份验证(mod_auth basic)。我的目标是在域和所有子域之间进行单点登录。
这些凭证会自动继续到子域,还是通过简单的虚拟主机配置更改,或者有更好的方法来做到这一点?
浏览器通过 URL 根和身份验证领域的名称来区分需要 HTTP 身份验证的区域。
以两个域为例,每个域都有一个同名的域:
http://one.example.com/ with the realm "Please enter credentials!"
http://two.example.com/ with the realm "Please enter credentials!"
首先,用户访问one,要求提供凭据并输入它们。然后用户访问two,浏览器识别出 URL 不同,因此再次向用户询问她的凭据。
这是一件好事,因为否则 www.badguy.com 可以设置它,以便您的浏览器通过您的网上银行登录发送。
简而言之:基本 HTTP 身份验证和标准 HTTP 客户端无法解决您的问题。
您可以改用 mod_auth_digest,因为这样您可以指定多个 URI 位于同一“保护空间”中。但是,使用这种身份验证方法存在两个新问题: