使用带有ajax的authencation MVC将用户从网站A重定向到B.

时间:2017-02-03 06:23:13

标签: jquery ajax asp.net-mvc

我正在尝试通过从控制器调用if (Request.IsAuthenticated) { return Redirect("/Home/Index"); } 方法,将Logon用户从网站A重定向到直接身份验证。它始终重定向到登录页面总是返回“false” 控制器被调用,signinstatus也返回true。

 $.ajax({
        url: 'http://localhost:50289/Account/Login', // try to use Url Helper when possible
        crossDomain: true,
        type: 'POST', // use Get for [HttpGet] action or POST for [HttpPost]
        data: { model: LoginViewModel, returnUrl: "http://localhost:50289/eLeave/index" },
        success: function (result) {
            if (result == true) {
                window.open("http://localhost:50289/eLeave/Index");
            } else {
                window.open("http://localhost:50289/eLeave/Index");

            }
        }
    });

来自网站A的Ajax

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


      var user = UserManager.FindByName(model.UserName);
        var result = await SignInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, shouldLockout: false);
        switch (result)
        {
            case SignInStatus.Success:
                UserManager.ResetAccessFailedCount(user.Id);
                return RedirectToLocal(returnUrl);
            case SignInStatus.Failure:
            default:
                ModelState.AddModelError("", "Invalid login attempt.");
                if (user !=null)
                {                      
                    UserManager.AccessFailed(user.Id);
                }

                return View(model);
        }
    }

来自网站B的控制器

<a class="btn btn-danger" value="Delete" href="{{ path('tube_delete', { 'id': tube.id, 'token': csrf_token('deleteTube-' ~ tube.id) }) }}">
  <span class="glyphicon glyphicon-trash" aria-hidden="true"></span>
</a>

0 个答案:

没有答案