Squid 配置可以对着 Active Directory 校验密码,同时仍然弹出登录框。这并不一定说明哪里坏了。AD 描述账号存放在哪里;它并不告诉你浏览器将如何证明用户是谁。

在这一行里,关键词是 basic:

auth_param basic realm Windows Logon

realm 之后的词只是给受保护的身份验证区域起个名字。它们既不申请 Windows 访问令牌,也不会把质询切换成 Negotiate。Basic LDAP 辅助程序接收客户端提交的凭据,并拿它去目录里核对。

典型配置里有三个彼此独立的决定:Squid 如何向客户端发起质询、辅助程序如何校验这份应答、访问规则允许哪些已认证用户或组通过。LDAP 组查询成功只解决了最后一个决定,它无法补上浏览器缺失的凭据。

如果需求是静默登录

请选择浏览器支持的集成身份验证方案,并配置好它在服务器侧的前提条件。对基于 Kerberos 的 Negotiate 来说,这包括服务标识与密钥材料,以及允许向该代理进行身份验证的客户端策略。只在 Basic 配置下更换辅助程序的可执行文件,并不会完成这种转换。

在替换一套能用的 LDAP 配置之前,先确定你需要的是哪种结果。接受与工作站登录相同的用户名和密码,是合理的 Basic 认证需求。而不询问该密码、直接复用已登录的 Windows 身份,则是另一种需求,涉及的协议与部署工作也不相同。

相关文章