如何配置 IIS 以使 MVC 内部网应用正常工作 ASP.NET



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

当我在VS Web服务器中运行该应用程序时,它运行良好。它从一个随机端口启动(像往常一样),并立即接受任何HTTP请求,将我的Windows用户名正确传递给Web服务器(也带有计算机名称)。

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

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

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

您还可以

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

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

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

如果要

使用Windows身份验证,只需在IIS上启用它并禁用其他类型即可。请记住,它只能在Internet Explorer和Chrome下自动工作。Opera和Firefox将要求提供凭据。

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

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

祝你好运!

最新更新