我有一个 MVC4 应用程序,通过成员身份登录(通过 FormsAuthentication)。
这在 web.config 中定义如下。我的默认 url 是 home root (~/):
<roleManager enabled="true" />
<authentication mode="Forms">
<forms defaultUrl="~" loginUrl="~/Account" />
</authentication>
在 Login post 方法中的 AccountController 中,以下代码是相关的。当用户使用有效凭据单击登录时,将执行此代码。
if (Membership.ValidateUser(creds.Username, creds.Password))
{
FormsAuthentication.RedirectFromLoginPage(creds.Username, false);
return null;
}
现在,如果我(匿名)导航到:~/Admin,我会被重定向到~/Account 以登录,这是完美的。我可以看到url的形成如下:
http://localhost:23759/Account?ReturnUrl=%2fAdmin
但是,当我成功登录时,我会被重定向到主页 (~/) 而不是 ~/Admin
请帮忙!非常感谢!
编辑:找到实际问题:这是未接收查询字符串的 post 方法