在asp.net mvc3网站上,我导入了microsoft.web.helpers,webmatrix.data和webmatrix.webdata。之后,我发现当我在控制器中的某些ActionResults上使用[Authorize]属性时,我的重定向指向帐户\登录而不是帐户\ logon,这是它以前所做的并且是默认值。
我没有使用WebMatrix,但想使用microsoft.web.helpers功能。我在代码中搜索了对帐号\登录的任何引用,但没有任何我能找到的。我的身份验证Web配置如下所示:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
答案 0 :(得分:8)
覆盖使用:
<configuration>
<appSettings>
<add key="loginUrl" value="~/Account/Logon" />
</appSettings>
</configuration>
答案 1 :(得分:3)
前段时间我遇到了同样的问题。 我在'带有Razor语法的ASP.NET网页'上添加了“可部署依赖项”。这会添加一个引用:WebMatrix.Data.dll这个程序集有一个带有静态构造函数的类,它执行以下操作:
static FormsAuthenticationSettings()
{
FormsAuthenticationSettings.LoginUrlKey = "loginUrl";
FormsAuthenticationSettings.DefaultLoginUrl = "~/Account/Login";
}
这解释了!它将覆盖web.config中的任何内容。
答案 2 :(得分:2)
您可以从bin文件中删除WebMatrix.WebData.dll