我正在使用表单Auhtentication in MVC4
,我的问题是用户在身份验证后不会从登录页面重定向。
以下是我的登录操作:
[HttpPost]
public ActionResult Login(LoginModel model, string returnUrl)
{
if (ModelState.IsValid)
{
if (Membership.ValidateUser(model.UserName, model.Password))
{
FormsAuthentication.SetAuthCookie(model.UserName,model.RememberMe);
RedirectToDefault(returnUrl,model.UserName);
}
else
{
this.ShowMessage(MessageType.Danger, "Invalid username or password.");
}
}
this.ShowMessage(MessageType.Danger, "Invalid username or password.");
return View(model);
}
和我的Web.Config:
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
此代码:
FormsAuthentication.SetAuthCookie(model.UserName,model.RememberMe);
RedirectToDefault(returnUrl, model.UserName);
已执行,但代码仍然是最后一个Return View(模型);
请提供任何帮助。
答案 0 :(得分:1)
这些是我对你的问题的假设。
您的Login
在项目中是部分视图还是部分视图?
Login
视图不是部分在表格帖子中查看。Login
视图没有Syntax Error in HTML/Code Errors
。Action Result
?LoginModel
?识别问题的解决方案:
识别问题只需在Global.asax
:
protected void Application_Error(object sender, EventArgs e)
{// Keep Debugger Here
Exception exception = Server.GetLastError();
Response.Clear(); // Just check the exception variable hint in Quick Watch
}
答案 1 :(得分:0)
事实证明我在主页上调用了PartialView。我有PatialView结果的控制器用[授权]属性进行了装饰。
我所做的就是用[AllowAnonymous]装饰了Partiview结果,解决了这个问题。