我在我的MVC 3应用程序中使用表单身份验证,并且我的返回URL有问题。
当我在Home控制器上标记一个动作<Authorize>
时,它会重定向到登录页面并且有效,但返回的URL是/
,因此当它重定向时,它会重定向到根目录当前网址Authorize
。
所以网址是这样的:
http://localhost/ - Controller = Home - Action = Index
http://localhost/Authentication/LogOn
我最终得到了这个:http://localhost/Authentication/LogOn?ReturnURL=~%2F,我需要回到http://localhost/
帮助!! :)
答案 0 :(得分:2)
尝试将您的帐户控制器LogOn操作更改为以下内容:
[HttpPost]
public ActionResult LogOn(LogOnModel model, string returnUrl)
{
if (ModelState.IsValid)
{
if (MembershipService.ValidateUser(model.UserName, model.Password))
{
FormsService.SignIn(model.UserName, model.RememberMe);
return RedirectToAction("Index", "Home");
}
else
{
ModelState.AddModelError("", "The user name or password provided is incorrect.");
}
}
// If we got this far, something failed, redisplay form
return View(model);
答案 1 :(得分:-1)
http://localhost/Authentication/LogOn?ReturnURL=~%2F, 这意味着主页网址重复了