Пример #1
0
        /// <summary>
        /// 添加后台管理员
        /// </summary>
        /// <param name="model">AccountAdd</param>
        /// <returns></returns>
        public ResponsResult AddAccount(BackstageUserAdd model)
        {
            ResponsResult result  = new ResponsResult();
            BackstageUser account = this.First <BackstageUser>(t => t.LoginName == model.LoginName);

            if (account != null)
            {
                return(result.SetStatus(ErrorCode.NotFound, "登录名称已经存在!"));
            }
            else
            {
                account = new BackstageUser();
            }
            if (!MethordExtensions.IsIDCard(model.IdCard))
            {
                return(result.SetStatus(ErrorCode.InvalidData, "身份证非法!"));
            }
            model.Password = model.Password == "" ? "123456" : model.Password;
            string pwd = Security.MD5(model.Password);

            account.Id            = Guid.NewGuid().ToString("N");
            account.LoginName     = model.LoginName;
            account.FullName      = model.FullName;
            account.CreateTime    = DateTime.Now;
            account.AccountType   = (int)model.AccountType;
            account.RoleId        = (int)model.AccountType;
            account.Password      = pwd;
            account.Mobile        = model.Mobile;
            account.AccountStatus = (int)AccountStatus.Normal;
            account.SourceType    = (int)SourceType.Web;
            account.Gender        = model.Gender;
            account.IdCard        = model.IdCard;
            this.Add(account, true);
            return(result);
        }
Пример #2
0
        /// <summary>
        /// 后端用户登录操作
        /// </summary>
        /// <param name="model">AccountViewModel实体</param>
        /// <returns></returns>
        public ResponsResult Login(BackstageUserAdd model)
        {
            ResponsResult result      = new ResponsResult();
            string        sessionCode = string.Empty;

            try
            {
                var code = CookieUtility.GetCookie(TbConstant.WEBSITE_VERIFICATION_CODE);
                if (code != null)
                {
                    sessionCode = ServiceCollectionExtension.Decrypt(code);
                }
            }
            catch (Exception ex)
            {
                Log4Net.Debug(ex);
            }
            if (model.ErrCount >= 3)
            {
                if (!model.VerCode.ToString().ToLower().Equals(sessionCode.ToLower()))
                {
                    return(result.SetStatus(ErrorCode.NotFound, "验证码输入不正确!"));
                }
            }

            BackstageUser account = this.First <BackstageUser>(t => t.LoginName == model.LoginName);

            if (account == null)
            {
                return(result.SetStatus(ErrorCode.NotFound, "账号不存在!"));
            }
            string pwd = Security.MD5(model.Password);

            if (!account.Password.Equals(pwd, StringComparison.OrdinalIgnoreCase))
            {
                return(result.SetStatus(ErrorCode.InvalidPassword));
            }
            switch (account.AccountStatus)
            {
            case (int)AccountStatus.Disabled:
                return(result.SetStatus(ErrorCode.AccountDisabled, "账号不可用!"));
            }

            account.LastLoginTime = DateTime.Now;
            account.LastLoginIp   = "";
            this.Update(account, true);
            MvcIdentity identity = new MvcIdentity(account.Id, account.LoginName, account.LoginName, account.Email, (int)account.AccountType, null, account.LastLoginTime);

            identity.Login(TbConstant.WEBSITE_AUTHENTICATION_SCHEME, x =>
            {
                x.Expires  = DateTime.Now.AddHours(25);//滑动过期时间
                x.HttpOnly = true;
            });

            return(result);
        }
Пример #3
0
        public MyResult <object> Login(BackstageUserAdd model)
        {
            MyResult result      = new MyResult();
            string   sessionCode = string.Empty;

            try
            {
                var code = CookieUtil.GetCookie(Constants.WEBSITE_VERIFICATION_CODE);
                if (code != null)
                {
                    sessionCode = DataProtectionUtil.UnProtect(code);
                }
            }
            catch (Exception ex)
            {
                LogUtil <AccountService> .Error(ex.Message);
            }
            if (model.ErrCount >= 3)
            {
                if (!model.VerCode.ToString().ToLower().Equals(sessionCode.ToLower()))
                {
                    return(result.SetStatus(ErrorCode.NotFound, "验证码输入不正确!"));
                }
            }

            BackstageUser account = this.First <BackstageUser>(t => t.LoginName == model.LoginName);

            if (account == null)
            {
                return(result.SetStatus(ErrorCode.NotFound, "账号不存在!"));
            }
            string pwd = SecurityUtil.MD5(model.Password);

            if (!account.Password.Equals(pwd, StringComparison.OrdinalIgnoreCase))
            {
                return(result.SetStatus(ErrorCode.InvalidPassword));
            }
            switch (account.AccountStatus)
            {
            case (int)AccountStatus.Disabled:
                return(result.SetStatus(ErrorCode.AccountDisabled, "账号不可用!"));
            }

            account.LastLoginTime = DateTime.Now;
            account.LastLoginIp   = "";//MvcHelper.ClientIP;
            this.Update(account, true);
            MvcIdentity identity = new MvcIdentity(account.Id, account.LoginName, account.LoginName, account.Email, (int)account.RoleId, null, account.LastLoginTime);

            identity.Login(Constants.WEBSITE_AUTHENTICATION_SCHEME, x =>
            {
                x.Expires  = DateTime.Now.AddHours(5);//滑动过期时间
                x.HttpOnly = true;
            });

            return(result);
        }
Пример #4
0
        public ActionResult UserManage_Edit(BackstageUser postbackData)
        {
            var Data = db.BackstageUser.Find(postbackData.Account);

            Data.Account  = postbackData.Account;
            Data.Password = postbackData.Password;
            Data.Name     = postbackData.Name;
            Data.PhoneNum = postbackData.PhoneNum;
            Data.Remarks  = postbackData.Remarks;

            db.SaveChanges();
            return(RedirectToAction("UserManage", "BackStage"));
        }
Пример #5
0
        public ActionResult LoginRequire(string account, string password)
        {
            BackstageUser data = db.BackstageUser.Find(account);

            if (data != null)
            {
                if (data.Password == password)
                {
                    return(RedirectToAction("UserManage", "BackStage"));
                }
            }

            return(RedirectToAction("Login", "BackStage"));
        }
Пример #6
0
        /// <summary>
        /// 获取后台用户信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ResponsResult GetBackstageUser(string id)
        {
            ResponsResult result        = new ResponsResult();
            BackstageUser backstageUser = this.First <BackstageUser>(t => t.Id == id);

            if (backstageUser == null)
            {
                backstageUser = new BackstageUser();
            }
            else
            {
                backstageUser.Password = "";
            }
            result.Data = backstageUser;
            return(result);
        }
Пример #7
0
        /// <summary>
        /// 后台管理员修改
        /// </summary>
        /// <param name="model">BackstageUserAdd</param>
        /// <returns></returns>
        public ResponsResult UpdateAccount(BackstageUserAdd model)
        {
            ResponsResult result  = new ResponsResult();
            BackstageUser account = base.First <BackstageUser>(t => string.IsNullOrEmpty(model.Id) && t.LoginName.Equals(model.LoginName));

            if (account != null)
            {
                return(result.SetStatus(ErrorCode.NotFound, "登录名称已经存在!"));
            }
            else
            {
                account = this.First <BackstageUser>(t => t.Id.Equals(model.Id));
                if (account == null)
                {
                    return(result.SetStatus(ErrorCode.NotFound, "用户异常操作失败!"));
                }
            }
            if (!string.IsNullOrEmpty(model.Password))
            {
                string pwd = Security.MD5(model.Password);
                account.Password = pwd;
            }
            if (!MethordExtensions.IsIDCard(model.IdCard))
            {
                return(result.SetStatus(ErrorCode.InvalidData, "身份证非法!"));
            }
            account.LoginName     = model.LoginName;
            account.AccountStatus = (int)model.AccountStatus;
            account.FullName      = model.FullName;
            account.RoleId        = (int)model.AccountType;
            account.Mobile        = model.Mobile;
            account.UpdateTime    = DateTime.Now;
            account.Gender        = model.Gender;
            account.AccountType   = (int)model.AccountType;
            account.IdCard        = model.IdCard;
            this.Update(account, true);
            return(result);
        }
Пример #8
0
        /// <summary>
        /// 密码修改
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ResponsResult UpdatePwd(BackstageUserAdd model)
        {
            ResponsResult   result         = new ResponsResult();
            BackstageCookie backUser       = GetUserCook();
            BackstageUser   backstageModel = this.First <BackstageUser>(t => t.Id == backUser.Id);

            if (backstageModel == null)
            {
                return(result.SetStatus(ErrorCode.NotFound, "登录名称不存在!"));
            }
            string pwd = Security.MD5(model.OldPassword);

            if (pwd.Equals(backstageModel.Password))
            {
                string pwdNew = Security.MD5(model.ConfirmPassword);
                backstageModel.Password = pwdNew;
            }
            else
            {
                return(result.SetStatus(ErrorCode.NotFound, "您输入的密码不正确!"));
            }
            this.Update(backstageModel, true);
            return(result);
        }
Пример #9
0
 public ActionResult UserManage_Creat(BackstageUser postbackData)
 {
     db.BackstageUser.Add(postbackData);
     db.SaveChanges();
     return(RedirectToAction("UserManage", "BackStage"));
 }