Exemplo n.º 1
0
        public ActionResult Login(LoginModel model)
        {
            var result = new JsonModel();

            #region check params
            if (model == null)
            {
                result.msg = "请输入数据!";
                return(Json(result));
            }
            if (string.IsNullOrEmpty(model.UserName))
            {
                result.msg = "请输入用户名";
                return(Json(result));
            }
            if (string.IsNullOrEmpty(model.Password) || model.Password.Length < 6)
            {
                result.msg = "请输入正确的密码";
                return(Json(result));
            }
            if (string.IsNullOrEmpty(model.ValidateCode))
            {
                result.msg = "请输入验证码";
                return(Json(result));
            }
            #endregion

            if (!VeryfyCodeUtility.IsVerifyCodeMatch(Session, model.ValidateCode))
            {
                result.msg = "验证码错误!";
                return(Json(result));
            }

            var loginResult = UsersRepository.AdminLogin(model.UserName, model.Password);
            if (loginResult.Status == SigninStatus.Succ)
            {
                FormsAuthSvc.CreateAuthenticationTicket(loginResult.UserInfo, Response, HttpContext, model.IsRemember);
                //添加到Fom
                if (model.IsRemember)
                {
                    CookieUtils.SetCookie(FormsAuthSvc.GetUserNameCookieKey(), model.UserName, true);
                }
                else
                {
                    CookieUtils.RemoveCookie(FormsAuthSvc.GetUserNameCookieKey());
                }
                //添加登录日志
                SysOperationLogRepository.Insert(TableSource.Users, OperationType.UserLogin, loginResult.UserInfo.Id);
                result.code = JsonModelCode.Succ;
                return(Json(result));
            }
            result.msg = "登录失败!" + loginResult.Status.GetDescriotion();
            return(Json(result));
        }