请求重定向到/ Account/Login?ReturnUrl =%2f,因为MVC 3安装在服务器上

joh*_*hna 53 asp.net iis-7 asp.net-mvc-3

我们有一个在Windows 2008/IIS7服务器上运行的内部ASP.NET Webforms应用程序,在我们安装MVC3之前一直运行良好.

现在任何请求都重定向到/ Account/Login?ReturnUrl =%2f.

该网站是Webforms而不是MVC.因为它是一个仅内部站点,所以我们为根文件夹启用了Windows身份验证.

我们在同一台服务器上有几个未受此问题影响的其他网站,但这是根文件夹设置为Windows身份验证的唯一站点.

joh*_*hna 111

我通过将以下行添加到我的web.config文件的AppSettings部分来解决了这个问题:

<add key="autoFormsAuthentication" value="false" />
<add key="enableSimpleMembership" value="false"/>
Run Code Online (Sandbox Code Playgroud)

  • 我的天啊.a $$多么痛苦.[MVC3发行说明](http://www.asp.net/whitepapers/mvc3-release-notes#0.1__Toc274034230)说:**当您将ASP.NET MVC 2项目升级到ASP.NET MVC 3**时,请确保将以下内容添加到Web.config文件的appSettings部分:`<add key ="enableSimpleMembership"value ="false"/>` (10认同)
  • 绝对偶然发现了这个修复!谢谢 (2认同)

小智 30

我这样修好了

  1. 去IIS
  2. 选择您的项目
  3. 点击"身份验证"
  4. 单击"匿名身​​份验证">"编辑">选择"应用程序池标识"而不是"特定用户".
  5. 完成.


Aar*_*man 7

更新了MVC 4的答案,大量借用了此页面和ASP.NET MVC问题以及表单身份验证部分的配置(并在两个页面上都得到了回答)

<appSettings>
   ...
   <add key="PreserveLoginUrl" value="true" />
</appSettings>

...

<authentication mode="Forms">
      <forms loginUrl="~/Account/LogOn" timeout="43200" /> <!--43,200 in minutes - 30 days-->
</authentication>
Run Code Online (Sandbox Code Playgroud)


Avi*_*ash 7

只需删除

 <authorization>
      <deny users="?"/>
    </authorization>
Run Code Online (Sandbox Code Playgroud)

来自您的web.config文件

这对我有用