Exemplo n.º 1
0
        public IActionResult Login()
        {
            var vm = new LoginViewModel();
            vm.Model = new LoginModel();

            return this.View(vm);
        }
Exemplo n.º 2
0
        public async Task<IActionResult> Login(LoginModel model)
        {
            var vm = new LoginViewModel();
            vm.Model = model;

            if (!ModelState.IsValid)
            {
                vm.ErrorMessage = Messages.ModelStateNotValid;
                return this.View(vm);
            }

            var result = await this.AuthService.Login(model);

            if (result.Success)
            {
                Core.Security.SecurityManager.WriteToken(this.HttpContext, result.Data, model.RememberPassword);

                return this.RedirectToAction("Index", "Home");
            }
            else
            {
                vm.ErrorMessage = result.ErrorMessage;

                return this.View(vm);
            }
        }
Exemplo n.º 3
0
        public async Task<IActionResult> Login(LoginModel model)
        {
            var vm = new LoginViewModel();
            vm.Model = model;

            if (!ModelState.IsValid)
            {
                vm.ErrorMessage = Messages.ModelStateNotValid;
                return this.View(vm);
            }

            var result = await this.AccountService.Login(model.UserName, model.Password);

            if (result.Success)
            {
                this.Response.Cookies.Append(this.ClientManager.CookieName, result.Token, new CookieOptions { Expires = DateTime.Now.AddDays(30) });

                return this.RedirectToAction("Index", "Home");
            }
            else
            {
                switch (result.ErrorCode)
                {
                    case LoginResult.LoginErrorCode.InvalidPassword:
                        vm.ErrorMessage = "密码错误";
                        break;
                    case LoginResult.LoginErrorCode.UserIsBlocked:
                        vm.ErrorMessage = "用户已被禁用";
                        break;
                    case LoginResult.LoginErrorCode.UserNotActive:
                        vm.ErrorMessage = "用户未激活";
                        break;
                    case LoginResult.LoginErrorCode.UserNotExist:
                        vm.ErrorMessage = "用户不存在";
                        break;
                }

                return this.View(vm);
            }
        }