我在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的其他帖子尝试了各种提示,但我无法解决我的问题=(
谢谢!
答案 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 :(得分:0)
解决方案:这不是您想要解决的方式......但它的工作方式是为我的应用程序创建一个新的子域。