MVC登录页面没有去正确的返回URL

时间:2016-07-02 12:07:06

标签: c# asp.net-mvc authentication

我正在一个简单的家庭网站上使用一个用户名/密码组合。我不希望用户注册等等。但是,我相信我已经支持自己进入角落。我修改了帐户控制器以查找用户名" x"和密码" y"并返回成功。它做得很好。 returnUrl具有正确的文件夹(" / movie"在这种情况下)。但它只是在加载时保留在登录页面上的网址:

  

http://blah.org/Account/Login?ReturnUrl=%2FMovie

然后它进入错误页面,在地址栏中显示相同的URL。

这是我的登录功能:

[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
{
    if (!ModelState.IsValid)
    {
        return View(model);
    }

    // This doesn't count login failures towards account lockout
    // To enable password failures to trigger account lockout, change to shouldLockout: true
    var result = await SignInManager.PasswordSignInAsync(model.UserName, "", model.RememberMe, shouldLockout: false);
    if (model.Password == "y" && model.UserName == "x")
    {
       result = SignInStatus.Success;
    }

    switch (result)
    {
        case SignInStatus.Success:
            return RedirectToLocal(returnUrl);
        case SignInStatus.LockedOut:
            return View("Lockout");
        default:
            ModelState.AddModelError("", "Invalid login attempt.");
            return View(model);
    }
}

它确实下降到了成功&#34;声明,重定向到本地:

private ActionResult RedirectToLocal(string returnUrl)
{
    if (Url.IsLocalUrl(returnUrl))
    {
        return Redirect(returnUrl);
    }
    return RedirectToAction("Index", "Home");
}

进入重定向(&#34; /电影&#34;)

也许如果有办法在本地商店制作用户名/密码......我不知道

附加:我在控制器类上放了一个断点并且它命中了它,但是从不进入Index()方法

0 个答案:

没有答案