Example #1
0
        public async Task <IActionResult> Login(LoginViewModel model)
        {
            if (model == null)
            {
                model           = new LoginViewModel();
                model.ErrorInfo = "请输入用户名";
            }
            var userPrincipal = await _IdentityService.CheckUserAsync(model.UserName, model.Password);

            if (userPrincipal != null)
            {
                await HttpContext.SignInAsync(IdentityService.AuthenticationScheme, userPrincipal);

                if (string.IsNullOrEmpty(model.ReturnUrl))
                {
                    model.ReturnUrl = "/Home/MainPage";
                }
                return(Redirect(model.ReturnUrl));
            }
            else
            {
                model.ErrorInfo = "用户名或密码错误";
            }
            return(View("~/Views/Home/Index.cshtml", model));
        }
Example #2
0
        public async Task <IActionResult> Login(LoginViewModel model, string returnUrl = null)
        {
            ViewData["Error"]     = true;
            ViewData["ReturnUrl"] = returnUrl;
            model.Email           = model.Email?.Trim();
            model.Password        = model.Password?.Trim();
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var user = await _identityService.CheckUserAsync(model.Email, model.Password);

            if (user == null)
            {
                ModelState.AddModelError(string.Empty, "用户名或密码错误");
                model.Password = string.Empty;
                return(View(model));
            }

            ViewData["Error"] = false;
            //登录
            await HttpContext.Authentication.SignInAsync(IdentityService.AuthenticationScheme, user);

            //重定向
            return(RedirectToLocal(returnUrl));
        }
Example #3
0
        public async Task <IActionResult> Login(LoginViewModel model, string returnUrl = null)
        {
            ViewData["ReturnUrl"] = returnUrl;
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            //使用用户名和密码获取用户信息
            var user = await _identityService.CheckUserAsync(model.UserName, model.Password);

            if (user == null)
            {
                //无用户返回错误
                ModelState.AddModelError(string.Empty, "用户名或密码错误!");
                return(View(model));
            }
            //登录,在Response中设置Cookie
            await HttpContext.Authentication.SignInAsync(IdentityService.AuthenticationScheme, user);

            return(RedirectToLocal(returnUrl));
        }