我维护一个使用基本身份验证来阻止外部用户查看的网站(这是一个向互联网开放的暂存/测试环境)。该网站可通过不安全的(HTTP)连接访问,但某些页面(如登录/注册表单)需要安全(HTTPS)连接。该网站有一个单独的基于 cookie 的登录,但这是自定义的,不使用任何框架提供的 API(IE 表单身份验证)
在此环境中,当用户通过不安全的连接成功登录网站主页,然后单击链接打开安全页面时,系统会提示他们通过基本身份验证再次登录。我的客户已要求删除此第二次登录。
有没有办法让基本身份验证在协议切换(HTTP -> HTTPS)时保持持续,而无需再次登录?
答案1
不。
由于您的 URL 正在发生变化,Authorization:
即使 HTTP 和 HTTPS 上的范围可能相同,您的浏览器也会停止发送标头。
由于基本身份验证发送明文凭证,因此最佳做法是将所有访问通过基本身份验证“保护”的 URL 空间的用户重定向到 HTTPS。
答案2
您可以尝试 ADFS 或 TMG(或类似产品)之类的产品来获取“单点登录”功能。
不建议使用 HTTP 上的基本身份验证。