/// <summary>
        /// 登录
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public TResult <EnterpriseUser> Login(EnterpriseUserLoginModel UserModel)
        {
            var result = new TResult <EnterpriseUser>();

            if (string.IsNullOrEmpty(UserModel.UserName) || string.IsNullOrEmpty(UserModel.PassWord))
            {
                return(result.FailureResult(null, "用户名和密码不能为空!"));
            }

            if (string.IsNullOrEmpty(UserModel.Code))
            {
                return(result.FailureResult(null, "请输入验证码!"));
            }
            var code = HttpContext.Current.Request.Cookies[SessionKey.ManagerUserLoginCode];

            if (code == null || (string.IsNullOrEmpty(code.Value)))
            {
                return(result.FailureResult(null, "验证码已过期,请重新输入验证码!"));
            }
            if (!String.Equals(code.Value, UserModel.Code.Trim(), StringComparison.CurrentCultureIgnoreCase))
            {
                return(result.FailureResult(null, "请输入正确的验证码!"));
            }
            var password = Md5HashHelper.HashPassword(UserModel.PassWord);
            //当前景区下未停用的售票员
            var model = Get(UserModel.UserName, password);

            if (model != null)
            {
                //var tbl_Scenic = Repository.First<Tbl_Scenic>(a => a.ScenicId == model.ScenicId);
                //UserInfoDTO dto = new UserInfoDTO(model, (int)SystemType.Sale, tbl_Scenic.ScenicName);
                //model.LastLoginTime = DateTime.Now;
                //Repository.Update(model);
                var userInfo = new EnterpriseUser
                {
                    UserId   = model.EnterpriseUserId,
                    UserName = model.UserName,
                    RealName = model.RealName,
                    ScenicId = model.ScenicId
                };
                //设置Session
                HttpContext.Current.Session[SessionKey.UserInfo] = userInfo;

                //设置登录信息cookie 1天有效
                HttpCookie hc = new HttpCookie(SessionKey.SaleUserLoginCookie);
                hc.Value = DesHelper.Encrypt(model.UserName + "|" + model.PassWord, SessionKey.ManagerUserLoginCookieKey);
                //设置cookie信息在第二天凌晨过期
                //(用户每天都需要输入密码登录一次,而且不会出现,在某一天中间某一刻时间,突然cookie过期)
                hc.Expires = DateTime.Now.AddDays(1);
                HttpContext.Current.Response.Cookies.Add(hc);

                return(result.SuccessResult(userInfo, "登录成功"));
            }
            return(result.FailureResult(null, "用户名或密码错误"));
        }
        /// <summary>
        /// 登录
        /// </summary>
        /// <param name="model">数据</param>
        public JsonResult Login(EnterpriseUserLoginModel model)
        {
            if (!ModelState.IsValid)
            {
                var message = ModelState.BuildErrorMessage();
                throw new SimpleBadRequestException(message);
            }
            var result = _enterpriseUserFacadeService.Login(model);

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
예제 #3
0
 /// <summary>
 /// 登录
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public TResult <EnterpriseUser> Login(EnterpriseUserLoginModel UserModel)
 {
     return(_enterpriseUserService.Login(UserModel));
 }