基于MVC 3的网站在iis7.5上部署时出现403-禁止访问错误。

27

可能重复:
在IIS 7.5上运行的ASP.NET MVC

我正在尝试将一个基本的MVC 3应用程序部署到运行iis 7.5的2008 R2服务器上,但尝试查看我的页面时收到“403 - Forbidden”错误。

我已启用匿名身份验证,我的应用程序池在集成管道模式下使用“.net 4.0”的“ApplicationPoolIdentity”。我不知道“ApplicationPoolIdentity”是什么“用户”,但我已经给了IUSR读/写网站文件夹的权限。

我没有任何其他身份验证方案,服务器甚至没有在域中运行。

如果我在那里放置一个默认的html页面,它可以正常加载。只有我的方法/控制器无法正常工作。

我该如何排除故障?

谢谢,


1
请参考以下链接:https://dev59.com/XHE95IYBdhLWcg3wSb_P。 - Gaurav Arora
3个回答

57

运行aspnet_regiis -i。通常我发现需要这样做才能使4.0应用程序正常工作。打开命令提示符:

cd \
cd Windows\Microsoft .NET\Framework\v4.xxx.xxx
aspnet_regiis -i

安装并注册后,确保您的应用程序使用一个设置为.NET 4.0的应用程序池。


3
我刚刚发现这个命令可能存在问题。使用"-i"会将所有Web应用程序(池)更新为ASP.NET 4.0版本。使用"aspnet_regiis -ir"安装了ASP.NET的版本,但不会将任何Web应用程序更改为此版本。您可能还想查看"-iru"选项。 - Brettski
使用 aspnet_regiis -iru 命令来避免影响任何现有的 Web 应用程序! - Rory
@Michael Shimmins,不知道该如何感谢你,花了半天时间摸索,终于成功了,非常感谢。 - foo-baar

7

感谢Micheal的帮助。

我的操作系统是64位的,所以我在Framework64中运行了aspnet_regiis.exe,解决了问题。

c:\Windows\Microsoft.NET\Framework64\v4.0.30319>

在运行了文件夹...\Framework\v4.0.30319中的aspnet_regiis之后,问题仍未解决。


2

尝试两件事情:

  1. 将您的网站所在目录授权给“网络服务”账户。这是在Server 2008中用于ApplicationPoolIdentity的账户
  2. 如果第一步失败,请将ApplicationPoolIdentity更改为您已经明确授权给您的网站目录的账户。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接