我们在内部网站上使用 Apache 进行单点登录mod_auth_kerb
...,但没有相关浏览器配置的用户会收到密码提示而不是错误页面。
已调整其 Web 浏览器配置以允许网站直接进入的用户。问题在于尚未执行该浏览器配置的用户:我们希望他们看到错误页面,但 Edge、Chrome 和 IE 都提示输入用户名和密码。
我们有KrbMethodK5Passwd off
。这对看到错误页面的 Firefox 用户产生了预期的效果。
当 SSO 失败时,我们如何防止其他浏览器提示输入密码?我们不希望密码在网络上传输,我们也不想让用户认为向网站提供他们的 Windows 用户名和密码是可以接受的。
以下是 Chrome 不需要的提示:
以下是 Edge 的 (IE 的几乎相同):
如果用户按了Esc
7 次,提示最终会消失,用户将看到错误页面。但是用户没有理由想到这样做(如果前 6 次都不成功,为什么还要尝试第 7 次?),而他们可能会尝试提交密码。
该服务器运行 Ubuntu,并具有此 Apache 配置强制身份验证:
<Location />
AuthName "Internal Website Domain Authentication"
AuthType Kerberos
Krb5Keytab /etc/apache2/HTTP.keytab
KrbMethodNegotiate on
KrbMethodK5Passwd off
Require valid-user
ErrorDocument 401 /error/authentication.html
</Location>
谢谢。
答案1
为了防止密码提示,您必须在第一次登录时保存密码,谷歌会要求您保存密码,之后,无论何时登录网站,您都会自动重定向到该网页。