我的基本问题
在 COTS 软件升级后,我们的 Microsoft IIS 7.5 Web 服务器开始意外地请求基本身份验证(带有用户名和密码字段的弹出对话框),而不是我们配置的 CAC SmartCard 客户端身份验证。但是,查看我们知道要查看的所有标准位置,基本身份验证未启用。与在工作的开发服务器上相同。是否有其他地方或方法可以启用基本身份验证并且可以覆盖我们设置的身份验证方案?
细节
Windows 2008 Server - 美国政府 STIGed
IIS 7.5
COTS = Serena Business Manager
我们正在运行 COTS Web 应用程序 Serena Business Manager,我们已将其设置为向最终用户请求 CAC 智能卡以进行身份验证(客户端身份验证)。我们的每个用户都在其工作站上安装了 SmartCard 读卡器和相关的读卡器软件。这多年来一直运行良好。
昨天我们尝试将生产 COTS 应用程序从版本 10.1.4.1 升级到 10.1.5.2。当测试用户在升级完成后尝试登录时,我们会意外弹出一个对话框,标题为 Authentication Required 并要求输入用户名和密码。这发生在服务器有机会请求 CAC 智能卡及其 PIN 之前。
当我使用 Google Chrome 浏览器的开发者工具网络选项卡时,我看到服务器的请求标头中有:
WWW-Authenticate: Basic realm="TeamTrack"
. TeamTrack 是 COTS 产品的原始名称。这让我相信弹出的身份验证对话框是请求“基本”身份验证的 Microsoft IIS Web 服务器。
我们不得不回滚 Web 和相关的数据库升级更改。
在我们的开发服务器上,我们之前已成功执行过此 COTS 升级;没有用户名/密码验证请求。CAC SmartCard 客户端身份验证工作正常。
你问,为什么我们在升级开发或测试服务器时没有看到同样的故障?遗憾的是,我们的开发和测试 VM 与我们的政府托管和管理的生产 VM 位于不同的托管设施中。我们不允许将暂存 VM 克隆/复制到产品上,因此我们的产品 VM 与它们不完全匹配。我们尽量匹配配置。
在生产升级过程中,我们寻找了尽可能多的位置来进行身份验证设置。我们发现每个设置都与开发服务器匹配。
在开发服务器上,我可以通过禁用匿名身份验证并启用基本身份验证来重新创建弹出用户名/密码对话框行为,如下所示:
1. 打开 IIS 管理器并导航到要进行身份验证的级别。
2. 在功能名称列表中,双击身份验证。
3. 在认证页面,选择匿名认证。
4. 在操作窗格中,单击禁用以禁用匿名身份验证。
5. 在认证页面,选择基本认证。
6. 在“操作”窗格中,单击启用以使用默认设置的基本身份验证。
列表中的所有其他身份验证方案均已禁用。
成功设置
成功进行 CAC 智能卡身份验证的设置:
A. IIS 管理器 > SSL 设置:选中需要 SSL。在客户端证书上,需要单选按钮被选中。(这些都设置为请求 CAC 智能卡)
B. IIS 管理器 > 身份验证:启用匿名身份验证,禁用所有其他方案。
C. 在 COTS 软件的“bin”目录中,在 Web.config XML 文件中设置:<authentication mode ="Windows" />
D. 在 COTS 软件 fedsvr-core-config.xml 设置文件中,设置:
<parameter name="AllowedPrincipalAuthenticationTypes" Type="xsd:string">CLIENT_CERT</parameter>
(顺便说一句,为了实现客户端身份验证,COTS 应用程序采用了单点登录解决方案,这意味着在客户端进行身份验证之前,客户端和服务器之间会发生多个请求和响应活动。)
COTS 制造商的支持并没有在这个问题上提供实质性帮助。
我的基本问题再次:是否有其他 Windows 或 IIS 设置或方法可以启用基本身份验证以覆盖匿名身份验证和/或客户端证书所需的身份验证?或者,COTS 产品如何更改/覆盖身份验证设置,同时保持上述设置列表不变?
感谢您提供的任何指导。