IIS 7.5 - Erro HTTP 401.0 - 未经授权

时间:2016-06-09 19:42:14

标签: c# asp.net-mvc iis iis-7.5 http-status-code-401

我在Asp.net MVC中有一个应用程序在Visual Studio 2015中运行完美,使用IIS EXPRESS(本地计算机)。

我尝试在其他计算机(Windows Server 2008 R2 w / IIS 7.5)中执行此应用程序。我做了一个Deploy,然后放入了文件夹“C:\ inetpub \ wwwroot \ testsite”。

在执行localhost / testsite时,索引页面正常显示,但是,在提交表单(它是登录页面)时,我的IIS显示“401.0 ERROR”。

我正在使用“身份验证模式表单”:

<system.web>
    <compilation debug="true" targetFramework="4.5.2" />
    <httpRuntime targetFramework="4.5.2" />
    <authentication mode="Forms">
        <forms loginUrl="~/User/Login" timeout="2880" />
    </authentication>
</system.web>

池应用程序是“DefaultAppPool”。身份验证:“Anonymous = ON”,“Forms = ON”,其他选项= OFF。

我从StackOverflow的其他帖子尝试了各种提示,但我无法解决我的问题=(

谢谢!

2 个答案:

答案 0 :(得分:2)

选择返回401 - Unauthorized,的Web应用程序,然后双击“身份验证”功能。右键单击“匿名身​​份验证”提供程序,然后选择编辑。将默认匿名用户帐户(“IUSR”)切换到ApplicationPoolIdentity。现在,右键单击左侧窗格中的Web应用程序,选择编辑权限 ...,选择安全性选项卡,然后单击编辑 - &gt;添加并添加IIS APPPOOL\NameOfAppPool。确保应用程序池标识具有该文件夹的读取和执行权限。

如果要启用日志记录,请查看此TechNet文章:http://technet.microsoft.com/en-us/library/cc754631(WS.10).aspx

anonymous user有一个设置可以使用application pool identity特定用户的凭据。有时,它默认为特定用户而不是anonymous user如果这是您的问题,以下设置有望修复它:

  1. IIS管理器→站点→网站
  2. 双击“身份验证”
  3. 选择匿名身份验证
  4. 从“动作”面板中,选择“编辑”
  5. 选择应用程序池标识,然后单击确定

答案 1 :(得分:0)

解决方案:这不是您想要解决的方式......但它的工作方式是为我的应用程序创建一个新的子域。