1

我的“Hello World”c#.Net应用程序在我的本地Windows 7上正常工作。移动到我们的服务器时出现401.2错误。401.2 Windows 2008上的IIS 7.0上的ASP.Net 2.0中的错误

在这里我做了什么(以下在一些论坛上建议):

  1. 改变了匿名身份验证使用,以应用拉动用户
  2. 创建一个新的应用拉动
  3. 创建一个新的Windows用户访问到应用程序文件夹
  4. 设置应用程序对该用户的身份验证
  5. 将我的应用程序的应用程序拉为该应用程序拉

请注意:

  1. 我无论是从服务器内部和外部收到错误
  2. 我收到此错误从所有的浏览器我测试:Chrome浏览器,IE 9.0和Firefox
  3. 在同一个文件夹中的HTML文件是可见的

我错过了什么? 谢谢, Asaf

+0

这可能是由Windows身份验证引起的,你有没有检查过? – 2012-04-16 10:11:49

回答

2

您不需要创建新的Windows用户。我知道你已经说过你已经完成了哪些步骤,但是我会在每次添加新网站时突出显示我所做的工作。

  • 设置应用程序池的标识为 ApplicationPoolIdentity
  • 在网站中,将Anonymous Authentication设置为Enabled。点击 在右侧编辑并将Authentication Credentials设置为 Application pool identity
  • 在网站中,再次选择右边的Basic Settings。点击 按钮Connect As..并确保Application User已选择 。
  • 对硬盘上的文件夹给予适当的访问权限;即 应用程序池名称= hello.com,用户为IIS AppPool\hello.com

我认为你的问题是你没有给予应用程序池用户的文件夹权限。我认为您错误地将它们提供给了不必要的Windows帐户。 HTH

+0

你好@ianbaily,谢谢你的回复。第一步 - 应用程序池的标识可以是LocalService/LocalSystem/NetworkService。找不到ApplicationPullIdentity,它是应用程序的Ididity吗? – asafadd 2012-04-17 10:40:02

+0

在ApplicationPools区域的'Advanced Settings'下,查看Process Model - > Identity。在内置帐户下,ApplicationPoolIdentity是最后一个。我倾向于避免使用NetworkService,因为使用ApplicationPoolIdentity会将所有内容隔离开来。 – ianbailey 2012-04-17 11:52:49

+0

谢谢,@ianbaily!做到了! – asafadd 2012-04-18 11:15:31

0

您是否在服务器上安装了正确版本的.NET?您还需要在IIS中注册ASP.NET-c:\ windows \ Microsoft.NET \ framework \ v2.0.50727(或v4.0 ....) aspnet_regiis.exe -i

和重新启动IIS后iisreset in command line

+0

谢谢@Ivan,回到我身边。运行这两个命令后,我仍然得到“访问被拒绝”。为什么你觉得你重新安装。网络框架与此木材化问题有关? – asafadd 2012-04-16 12:05:50