2011-09-21 132 views
0

我已经有一个旧的基于WebForms的ASP.NET应用程序,我已经升级到ASP.NET 4.0,我想添加使用MVC的网站的一些部分。我已经成功完成了这个,但问题是我想分享旧的登录页面。ASP.NET MVC中配置的默认认证路由在哪里?

我用指令here来整合MVC。

网站的两部分都使用SqlMemberbershipProvider,但即使我的web.config配置为将未经身份验证的请求路由到我的“〜/ Login.aspx”页面,它们现在也被踢到了“帐户/登录”。

这里是我的网页config认证条目:

<authentication mode="Forms"> 
    <forms loginUrl="login.aspx" name=".ASPXFORMSAUTH" /> 
</authentication> 

凡在MVC管道现在它重写,以迫使它“帐户/登录”。这仅仅是MVC使用的“约定”吗?结果是我仍然想要将未经身份验证的请求重定向到Login.aspx,而不管目标页面/路由是什么。

迈克

回答

2

这是一个known bug。您可以尝试将以下loginUrl应用程序密钥添加到您的web.config中:

<appSettings> 
    <add key="loginUrl" value="~/login.aspx" /> 
<appSettings> 
+0

感谢您的链接。当我决定休息并发布到SO时,我在Reflector中膝盖深的System.Web.Mvc。大概再过几个小时,我可以保存。 –