/// <summary> /// 设置用户 /// </summary> /// <param name="uid">用户id</param> /// <param name="password">密码</param> /// <param name="sid">sid</param>PartUserInfo /// <param name="expires">过期时间</param>xpGrid_User public static void SetUserCookie(xpGrid_User partUserInfo, int expires) { //cookie 的关键字改为 plant + bma ?待完成 .. //倒可以通过S31、S32、S80 相同的cookie关键字,实现无需再登录。 //HttpCookie cookie = HttpContext.Current.Request.Cookies["bma"]; HttpCookie cookie = HttpContext.Current.Request.Cookies["mytiptop"]; if (cookie == null) { cookie = new HttpCookie("mytiptop"); } cookie.Values["uid"] = partUserInfo.UserID.ToString(); cookie.Values["password"] = WebHelper.UrlEncode(AESEncrypt(partUserInfo.Password)); if (expires > 0) { cookie.Values["expires"] = expires.ToString(); cookie.Expires = DateTime.Now.AddDays(expires); } string cookieDomain = BMAConfig.MallConfig.CookieDomain; if (cookieDomain.Length != 0) { cookie.Domain = cookieDomain; } HttpContext.Current.Response.AppendCookie(cookie); }
/// <summary> /// 添加用户 /// </summary> /// <param name="UserName"></param> /// <returns></returns> public static bool AddUser(string UserName, string UserCName) { //1.为空,返回false if (UserName.Length <= 0) { return(false); } //2.用户已经存在,返回false if (GetUidByUserName(UserName) > 0) { return(false); } //3.查询用户姓名 using (DBContext dbContext = new DBContext()) { xpGrid_User user = new xpGrid_User { UserName = UserName, UserCName = UserCName, deleted = 0, AllOnlineTime = 0, LoginTimes = 0, Online = 0, Password = BMAConfig.MallConfig.Password //配置的默认用户密码 }; dbContext.xpGrid_User.Add(user); dbContext.SaveChanges(); } return(true); }
/// <summary> /// 获得用户 /// </summary> /// <param name="userName">用户UserName</param> /// <returns></returns> public static xpGrid_User GetUserByName(string userName) { using (DBContext dbContext = new DBContext()) { xpGrid_User userInfo = dbContext.xpGrid_User.Where(u => u.UserName == userName).FirstOrDefault(); return(userInfo); } }
/// <summary> /// 获得用户 /// </summary> /// <param name="uid">用户id</param> /// <returns></returns> public static xpGrid_User GetUserById(int uid) { using (DBContext dbContext = new DBContext()) { xpGrid_User userInfo = dbContext.xpGrid_User.Where(u => u.UserID == uid).FirstOrDefault(); return(userInfo); } }
/// <summary> /// 获得部分用户,检验帐号密码 /// </summary> /// <param name="uid">用户id</param> /// <param name="password">密码</param> /// <returns></returns> public static xpGrid_User GetPartUserByUidAndPwd(int uid, string password) { xpGrid_User partUserInfo = GetUserById(uid); if (partUserInfo != null && partUserInfo.Password == password) { return(partUserInfo); } return(null); }
/// <summary> /// 获得用户id /// </summary> /// <param name="userName">用户名</param> /// <returns></returns> public static int?GetUidByUserName(string userName) { using (DBContext dbContext = new DBContext()) { xpGrid_User userInfo = dbContext.xpGrid_User.Where(u => u.UserName == userName).FirstOrDefault(); if (userInfo != null) { return(userInfo.UserID); } else { return(null); } } }
/// <summary> /// 修改用户信息 /// </summary> /// <param name="user"></param> /// <param name="uid"></param> public static void UpdateUser(xpGrid_User user, int uid) { using (DBContext dbContext = new DBContext()) { xpGrid_User userInfo = dbContext.xpGrid_User.Where(u => u.UserID == uid).FirstOrDefault(); if (userInfo == null) { return;//空 } userInfo.UserName = user.UserName; userInfo.UserCName = user.UserCName; userInfo.deleted = user.deleted; //提交修改 dbContext.SaveChanges(); } }
/// <summary> /// 重新设置密码 /// </summary> /// <param name="uid">uid</param> /// <param name="pwd">pwd</param> /// <returns></returns> public static bool ResetPassword(int uid, string pwd) { //1.不验证原密码 bool returnFlag = false; using (DBContext dbContext = new DBContext()) { xpGrid_User user = dbContext.xpGrid_User.Where(u => u.UserID == uid).FirstOrDefault(); if (user != null) { user.Password = pwd; dbContext.SaveChanges(); //设置修改成功状态 returnFlag = true; } } return(returnFlag); }
/// <summary> /// 根据ID查询姓名 /// </summary> /// <param name="sid"></param> /// <returns></returns> public static string GetUserCNameByUserID(int?sid) { string returnFlag = ""; using (DBContext dbContext = new DBContext()) { //if (sid == null) //{ // return ""; //} xpGrid_User model = dbContext.xpGrid_User.Where(u => u.UserID == sid).FirstOrDefault(); if (model != null) { returnFlag = model.UserCName; } } return(returnFlag); }
/// <summary> /// 删除用户 /// </summary> /// <param name="uid"></param> public static void DeleteUser(int uid) { try { using (DBContext dbContext = new DBContext()) { xpGrid_User userInfo = dbContext.xpGrid_User.Where(u => u.UserID == uid).FirstOrDefault(); if (userInfo != null) { dbContext.xpGrid_User.Remove(userInfo); dbContext.SaveChanges(); } } } catch (Exception Ex) { throw Ex; } }
/// <summary> /// 登录 /// </summary> public ActionResult Login() { string returnUrl = WebHelper.GetQueryString("returnUrl"); if (returnUrl.Length == 0) { //returnUrl = WorkContext.SubPath + "/malladmin/home/default"; //默认去后台页面 string subpath = Request.ApplicationPath; if (subpath.Equals("/")) { subpath = ""; } returnUrl = subpath + "/malladmin/home/default"; //默认去后台页面 } if (WorkContext.MallConfig.LoginType == "") { return(PromptView(returnUrl, "系统目前已经关闭登录功能!")); } if (WorkContext.Uid > 0) { return(PromptView(returnUrl, "您已经登录,无须重复登录!")); } //get请求 if (WebHelper.IsGet()) { LoginViewModel model = new LoginViewModel(); model.ReturnUrl = returnUrl; model.ShadowName = WorkContext.MallConfig.ShadowName; model.IsRemember = WorkContext.MallConfig.IsRemember == 1; model.IsVerifyCode = CommonHelper.IsInArray(WorkContext.PageKey, WorkContext.MallConfig.VerifyPages); //model.OAuthPluginList = Plugins.GetOAuthPluginList(); model.Random = Randoms.GetRandomInt(0, 5); return(View(model)); } //ajax请求 string accountName = WebHelper.GetFormString("shadowName"); //WebHelper.GetFormString(WorkContext.MallConfig.ShadowName); string password = WebHelper.GetFormString("password"); string verifyCode = WebHelper.GetFormString("verifyCode"); int isRemember = WebHelper.GetFormInt("isRemember"); StringBuilder errorList = new StringBuilder("["); //验证账户名 if (string.IsNullOrWhiteSpace(accountName)) { errorList.AppendFormat("{0}\"key\":\"{1}\",\"msg\":\"{2}\"{3},", "{", "accountName", "账户名不能为空", "}"); } else if (accountName.Length < 4 || accountName.Length > 50) { errorList.AppendFormat("{0}\"key\":\"{1}\",\"msg\":\"{2}\"{3},", "{", "accountName", "账户名必须大于3且不大于50个字符", "}"); } else if ((!SecureHelper.IsSafeSqlString(accountName, false))) { errorList.AppendFormat("{0}\"key\":\"{1}\",\"msg\":\"{2}\"{3},", "{", "accountName", "账户名不存在", "}"); } //验证密码 if (string.IsNullOrWhiteSpace(password)) { errorList.AppendFormat("{0}\"key\":\"{1}\",\"msg\":\"{2}\"{3},", "{", "password", "密码不能为空", "}"); } else if (password.Length < 4 || password.Length > 32) { errorList.AppendFormat("{0}\"key\":\"{1}\",\"msg\":\"{2}\"{3},", "{", "password", "密码必须大于3且不大于32个字符", "}"); } //验证验证码 if (CommonHelper.IsInArray(WorkContext.PageKey, WorkContext.MallConfig.VerifyPages)) { if (string.IsNullOrWhiteSpace(verifyCode)) { errorList.AppendFormat("{0}\"key\":\"{1}\",\"msg\":\"{2}\"{3},", "{", "verifyCode", "验证码不能为空", "}"); } else if (verifyCode.ToLower() != Sessions.GetValueString(WorkContext.Sid, "verifyCode")) { errorList.AppendFormat("{0}\"key\":\"{1}\",\"msg\":\"{2}\"{3},", "{", "verifyCode", "验证码不正确", "}"); } } //当以上验证全部通过时 xpGrid_User PartUserInfo xpGrid_User partUserInfo = null; if (errorList.Length == 1) { //用户名登录 if (!BMAConfig.MallConfig.LoginType.Contains("1")) { errorList.AppendFormat("{0}\"key\":\"{1}\",\"msg\":\"{2}\"{3},", "{", "accountName", "不能使用用户名登录", "}"); } else { partUserInfo = Users.GetUserByName(accountName); if (partUserInfo == null) { errorList.AppendFormat("{0}\"key\":\"{1}\",\"msg\":\"{2}\"{3},", "{", "accountName", "用户名不存在", "}"); } } if (partUserInfo != null) { if (password != partUserInfo.Password)//判断密码是否正确 { errorList.AppendFormat("{0}\"key\":\"{1}\",\"msg\":\"{2}\"{3},", "{", "password", "密码不正确", "}"); } else if (partUserInfo.deleted == 1)//当用户等级是禁止访问等级时 { errorList.AppendFormat("{0}\"key\":\"{1}\",\"msg\":\"{2}\"{3},", "{", "accountName", "您的账号当前被锁定,不能访问", "}"); } } } if (errorList.Length > 1)//验证失败时 { return(AjaxResult("error", errorList.Remove(errorList.Length - 1, 1).Append("]").ToString(), true)); } else//验证成功时 { //将用户信息写入cookie中 MallUtils.SetUserCookie(partUserInfo, (WorkContext.MallConfig.IsRemember == 1 && isRemember == 1) ? 30 : -1); //return Redirect(returnUrl); //登录成功,直接转向 return(AjaxResult("success", returnUrl)); } }