IIS应用程序不使用Windows身份验证模式下客户端提供的凭据

时间:2012-03-22 02:32:15

标签: iis windows-authentication

我在IIS7中遇到Windows身份验证问题,现在真的很绝望。 我们在IIS服务器中部署了一个ASP.NET 4应用程序,并启用了Windows身份验证。当客户端计算机向网站执行请求时,将显示Windows身份验证弹出窗口(预期的行为)。 但是,在使用有效凭据进行身份验证后,IIS无法在提供的凭据下工作。 (我知道这是因为与数据库服务器的连接失败,并显示以下消息:“用户登录失败'NT AUTHORITY \ ANONYMOUS LOGON'(模拟身份验证也已打开)) 我认为问题在于IIS中的配置,因为当我尝试使用无效凭证进行身份验证时,客户端Windows身份验证弹出窗口仍然存在并提示我再次尝试。

有趣的现象是:当我远程访问IIS服务器时,打开IE,以“http:// localhost ...”的形式填写地址。身份验证弹出窗口不会出现,但会自动获取我的凭据并且工作正常。 然而,再次,当我尝试“http://10.16.9.99 ...(机器的IP地址),或”http:// iissrv ...(机器名称)时,会出现同样的问题:Windows身份验证表单出现,在我输入有效凭证后,应用程序不会在提供的凭据

下运行

我现在非常绝望。你们有没有这种情况的经验?现在任何建议对我来说都是非常宝贵的:<

1 个答案:

答案 0 :(得分:0)

您的设置是典型的两跳方案。您需要使用Google delegation IIS。您应该能够找到大量的文档,教您如何设置它。

什么是两跳场景?一个人使用他的Windows凭据登录工作站计算机。它对服务器机器进行身份验证,该机器通常是IIS服务器。然后,IIS服务器模拟客户端凭据,并在最终用户(通常是数据库计算机)的行为上与另一个后端服务器通信。

  

客户 - > IIS - >数据库

模拟客户端凭据然后使用模拟凭据与另一台服务器通信的能力是一项非常高的权限。它被称为委托

要在服务器端发生委派,您需要确保三件事

  1. 您的服务器被授予委派权限
  2. 您的浏览器允许在服务器端发生委派
  3. 您的用户帐户未标记为敏感帐户
  4. Google更多,您应该能够找到正确设置的详细信息。这是one of the links that I found