我使用VS 2013创建了一个新的ASP.NET MVC 5.1 Web应用程序。在我的本地IIS Express中,一切正常。一个控制器使用Authorize-Attribute进行修饰。当我在此控制器中打开安全操作而未在此之前登录时,我被正确地重定向到登录页面(/ Account / Login)。但在我高效的IIS 7(Windows Server 2008)中,服务器将我的重定向到login.aspx。
当我使用OWIN中间件并且旧的IIS 7.0可以使用它时,是否会发生这种情况?在bin目录中,我的项目中有所有的OWIN-dll。
当我使用像谷歌这样的外部登录提供商时,重定向过程存在一些问题。和上面一样的程序。 : - (
有人对我有一些提示吗?
感谢。 安德烈亚斯
答案 0 :(得分:1)
我也有相同的设置和相同的问题:不是重定向到/ account / login或您在CookieAuthenticationOptions中设置的任何登录路径,它总是重定向到/login.aspx。
一种解决方法是,在您发布每个单一时间之后,您需要进入IIS,选择项目,点击身份验证并禁用默认的表单身份验证。
如果您选择表单身份验证并点击编辑,您将看到/login.aspx默认路由在那里。
顺便说一句,添加这两个AppSettings无法修复它:
<add key="autoFormsAuthentication" value="false" />
<add key="enableSimpleMembership" value="false"/>
答案 1 :(得分:0)
简单的解决方案:转到IIS->选择您的项目->双击身份验证 ->选择表单身份验证->编辑并设置默认登录重定向url。 这是login.aspx的硬编码位置。这是可配置的,并可根据项目路线进行更改。