Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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);
        }
Esempio n. 3
0
 /// <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);
     }
 }
Esempio n. 4
0
        /// <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);
            }
        }
Esempio n. 5
0
        /// <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);
        }
Esempio n. 6
0
        /// <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);
                }
            }
        }
Esempio n. 7
0
        /// <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();
            }
        }
Esempio n. 8
0
        /// <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);
        }
Esempio n. 9
0
        /// <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);
        }
Esempio n. 10
0
 /// <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;
     }
 }
Esempio n. 11
0
        /// <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));
            }
        }