【问题标题】:How to configure IIS for to make ASP.NET MVC intranet app work correctly?如何配置 IIS 以使 ASP.NET MVC Intranet 应用程序正常工作?
【发布时间】:2012-05-02 07:29:14
【问题描述】:

我有一个使用客户端的 Windows 登录用户名自动授权的 ASP.NET MVC 3 应用程序。

当我在 VS Web 服务器中运行该应用程序时,它运行良好。它从一个随机端口(和往常一样)开始,并立即接受任何 HTTP 请求,将我的 windows 用户名正确地传递给 Web 服务器(以及计算机名)。

当我将此项目部署到 IIS 7.5 时,我无法以任何方式访问该网站 - 我一直在更改身份验证选项但没有得到任何结果 - IIS 无限地要求凭据或显示“错误,无法访问”页面。

那么,我需要配置哪些选项才能让任何人正确打开网站并自动提供凭据?

【问题讨论】:

  • 你设置了什么认证模式?又想用什么?使用 AD/NTLM/Kerberos?

标签: .net asp.net-mvc-3 iis-7.5


【解决方案1】:

您必须在 IIS 中为您的网站启用 Windows 身份验证。

【讨论】:

  • 您还需要禁用匿名身份验证。
【解决方案2】:

您还可以在 web.config 文件中的 <system.web> 标记下将站点设置为使用 Windows 身份验证,如下所示:

<system.web>
    <authentication mode="Windows" />
</system.web>

这将由 IIS 获取,然后将身份验证模式设置为 Windows。

【讨论】:

    【解决方案3】:

    如果您想使用 Windows 身份验证,只需在 IIS 上启用它并禁用其他类型。请记住,它只会在 Internet Explorer 和 Chrome 下自动运行。 Opera 和 Firefox 将要求提供凭据。

    另外一个我觉得你可能遇到的问题实际上是在内置的网络服务器中测试它。虽然它是功能性的,但它并不能完全按照您的预期处理身份验证。即使您启用 NTLM 并且网站对您进行身份验证,它仍然在某些地方使用匿名身份验证。

    我建议不要在内置服务器上而是在本地 IIS 上部署和测试此类网站。直接从 VS 设置很容易,如果你在 Windows 中还没有它,你只需要启用它。还要记住在 IIS 中正确设置身份验证。

    祝你好运!

    【讨论】:

      猜你喜欢
      • 2017-01-24
      • 2012-02-14
      • 2020-09-20
      • 1970-01-01
      • 1970-01-01
      • 2010-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多