0

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

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

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

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

4

3 回答 3

2

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

于 2012-05-16T12:12:37.093 回答
1

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

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

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

于 2012-05-17T14:58:18.240 回答
0

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

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

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

祝你好运!

于 2012-05-16T14:11:20.750 回答