Asp.net mvc MVC5应用程序在调用安全操作时重定向到login.aspx

Asp.net mvc MVC5应用程序在调用安全操作时重定向到login.aspx,asp.net-mvc,redirect,iis-7,owin,asp.net-mvc-5.1,Asp.net Mvc,Redirect,Iis 7,Owin,Asp.net Mvc 5.1,我用VS 2013创建了一个新的ASP.NET MVC 5.1 Web应用程序。在我的本地IIS Express中,一切正常。一个控制器用Authorize属性修饰。当我在此之前未登录而在此控制器中打开安全操作时,我被正确重定向到登录页面/帐户/登录。但在我的IIS 7 Windows Server 2008中,服务器会将我的重定向到login.aspx 当我使用OWIN中间件而旧的IIS 7.0无法使用它时,会发生这种情况吗?在bin目录中有我的项目中的所有OWIN DLL 当我使用像谷歌这样

我用VS 2013创建了一个新的ASP.NET MVC 5.1 Web应用程序。在我的本地IIS Express中,一切正常。一个控制器用Authorize属性修饰。当我在此之前未登录而在此控制器中打开安全操作时,我被正确重定向到登录页面/帐户/登录。但在我的IIS 7 Windows Server 2008中,服务器会将我的重定向到login.aspx

当我使用OWIN中间件而旧的IIS 7.0无法使用它时,会发生这种情况吗?在bin目录中有我的项目中的所有OWIN DLL

当我使用像谷歌这样的外部登录提供商时,重拨过程有很多问题。与上述步骤相同:-

有人给我一些提示吗

谢谢。
Andreas

我也有同样的设置和同样的问题:它总是重定向到/login.aspx,而不是重定向到/account/login或您在CookieAuthenticationOptions中设置的任何登录路径

一种解决方法是,每次发布后,需要进入IIS,选择项目,点击身份验证并禁用默认表单身份验证

如果选择表单身份验证并点击编辑,您将看到/login.aspx默认路由

顺便说一句,添加这两个AppSettings并不能解决问题:

<add key="autoFormsAuthentication" value="false" />
<add key="enableSimpleMembership" value="false"/>

简单的解决方案:转到IIS->选择您的项目->双击身份验证 ->选择表单验证->编辑并设置默认登录重定向url。
这是login.aspx硬编码的地方。这是可配置的,并根据项目路线进行更改。

您是否将login.aspx设置为启动页面?您的选择正确。表单中的身份验证设置是错误的登录路径。我认为,这是因为新模板中的web.config略有不同。没有表单身份验证的设置。将login.aspx替换为~/Account/login后,一切都很好。谢谢。你能回答这个问题吗?更正后,是否提供代码?