Ejemplo n.º 1
0
        public List <Mes_Sys_User> FindByPage(Mes_Sys_User obj, ref PagerBase pager)
        {
            string sql = @"SELECT T1.*,T3.OrgName,T4.RoleName FROM Mes_Sys_User T1 WITH(NOLOCK) 
                            LEFT JOIN Mes_Sys_Map T2 WITH(NOLOCK)  ON T1.UserID = T2.UserID
                            LEFT JOIN Mes_Sys_Role T4 WITH(NOLOCK)  ON T2.RoleID = T4.ID
                            LEFT JOIN dbo.Mes_Sys_Organization T3 WITH(NOLOCK)  ON T1.OrgID = T3.ID
                    WHERE   1=1 ";

            if (!string.IsNullOrEmpty(obj.UserID))
            {
                sql += string.Format(" AND T1.UserID Like '%{0}%'", obj.UserID);
            }

            if (!string.IsNullOrEmpty(obj.UserName))
            {
                sql += string.Format(" AND T1.UserName Like '%{0}%'", obj.UserName);
            }

            string orderBy = pager.OrderBy;

            if (string.IsNullOrEmpty(orderBy))
            {
                orderBy = "CreatedTime DESC";
            }
            string cmdPageSql  = string.Format(BaseDao.PageSql, orderBy, sql, pager.StartNo, pager.EndNo);
            string cmdCountSql = string.Format(BaseDao.CountSql, sql.Substring(sql.ToLower().IndexOf("from", StringComparison.Ordinal)));

            //查询总记录数
            pager.TotalItemCount = this.CurDbSession.FromSql(cmdCountSql).ToScalar <int>();
            //返回当前页的记录数
            return(this.CurDbSession.FromSql(cmdPageSql).ToList <Mes_Sys_User>());
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 查询列表
        /// </summary>
        /// <param name="obj"></param>
        /// <param name="page"></param>
        /// <param name="rows"></param>
        /// <returns></returns>
        public ActionResult UserMgt_FindByPage(Mes_Sys_User obj, int page, int rows)
        {
            var pager = new PagerBase()
            {
                CurrentPageIndex = page, PageSize = rows
            };
            var list = MesSysUserDao.Instance.FindByPage(obj, ref pager);

            return(Json(new { total = pager.TotalItemCount, rows = list }, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 校验登录
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public ActionResult CheckLogin(Mes_Sys_User obj)
        {
            if (string.IsNullOrEmpty(obj.UserID))
            {
                return(Json(new { IsSuccess = false, Message = "请输入用户账号!" }));
            }
            if (string.IsNullOrEmpty(obj.Pass))
            {
                return(Json(new { IsSuccess = false, Message = "请输入密码!" }));
            }

            try
            {
                string password = obj.Pass;
                obj.Pass = password; //EncryptUtil.MD5Password(obj.Password).ToLower(); //md5加密
                Mes_Sys_User user = MesSysUserDao.Instance.GetUser(obj);
                if (user == null || user.ID <= 0)
                {
                    return(Json(new { IsSuccess = false, Message = "账号或密码有误!" }));
                }

                UserModel model = new UserModel();
                model.ID       = user.ID;
                model.UserId   = user.UserID;
                model.Password = password;
                model.UserName = user.UserName;
                model.IsAdmin  = (user.IsAdmin == "Y");
                model.OrgID    = user.OrgID;

                //写入Cookie和Session
                string sUserInfo = model.UserId + "|" + password;
                sUserInfo = EncryptUtil.DesEncrypt(sUserInfo);
                //FormsAuthentication.SetAuthCookie(model.LoginName, true, "name");//加入from验证票据
                //FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1,model.LoginName, DateTime.Now, DateTime.Now.AddDays(7), true, sUserInfo);
                //FormsIdentity identity = new FormsIdentity(ticket);
                //HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(ticket));
                //Response.Cookies.Remove(cookie.Name);
                HttpCookie cookie = new HttpCookie(UserKey, sUserInfo);
                cookie.Expires = DateTime.Now.AddDays(1); //Cookie设置为1天内过期
                Response.Cookies.Add(cookie);

                //SessionManager.Instance.AddSession(UserKey, model);

                //string LoginIp = AppHelper.GetClientIP();
                //string userName = user.LoginName;
                //Sys_LoginLogDao.Instance.SaveLoginLog(userName, LoginIp);

                return(Json(new { IsSuccess = true, Message = "登录成功" }));
            }
            catch (System.Exception ex)
            {
                return(Json(new { IsSuccess = false, Message = "登录失败,请确认账号和密码正确" }));
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 获取单个用户实体
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public Mes_Sys_User GetUser(Mes_Sys_User obj)
        {
            List <SqlParameter> list = new List <SqlParameter>();
            string sql = "select top 1 * from Mes_Sys_User where 1=1 ";

            if (!string.IsNullOrEmpty(obj.UserID))
            {
                sql = sql + string.Format(" AND UserID='{0}'", obj.UserID);
            }
            if (!string.IsNullOrEmpty(obj.Pass))
            {
                sql = sql + string.Format(" AND Pass='******'", obj.Pass);
            }

            return(this.CurDbSession.FromSql(sql.ToString()).ToFirstDefault <Mes_Sys_User>());
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 保存用户
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public bool SaveExt(Mes_Sys_User obj)
        {
            int result = -1;

            try
            {
                using (DbTrans trans = this.CurDbSession.BeginTransaction())
                {
                    //1.保存用户
                    if (obj.ID > 0)
                    {
                        result = trans.Update <Mes_Sys_User>(obj);
                    }
                    else
                    {
                        result = trans.Insert <Mes_Sys_User>(obj);
                    }

                    if (result <= 0)
                    {
                        trans.Rollback();
                        return(false);
                    }

                    //2.保存用户角色、部门关系表
                    string sql = @"DELETE FROM Mes_Sys_Map WHERE UserID ='{0}';
                        INSERT INTO Mes_Sys_Map(UserID,RoleID,OrgID,RecordStatus,Creater,CreatedTime)VALUES('{0}',{1},{2},1,'{3}',GETDATE())";
                    sql    = string.Format(sql, obj.UserID, obj.RoleID, obj.OrgID, obj.Creater);
                    result = trans.FromSql(sql).ExecuteNonQuery();
                    if (result <= 0)
                    {
                        trans.Rollback();
                        return(false);
                    }

                    //提交事务
                    trans.Commit();
                }
            }
            catch (System.Exception ex)
            {
                throw ex;
            }

            return(true);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 密码重置
        /// </summary>
        /// <param name="ID"></param>
        /// <returns></returns>
        public ActionResult UserMgt_ResetPassword(int ID)
        {
            string message = string.Empty;

            if (ID <= 0)
            {
                return(Json(new { IsSuccess = false, Message = "选择的记录有误,请刷新后重试!" }));
            }
            Mes_Sys_User obj = MesSysUserDao.Instance.Find <Mes_Sys_User, int>(ID);

            if (obj == null)
            {
                return(Json(new { IsSuccess = false, Message = "用户信息有误!" }));
            }

            obj.Pass = "******";
            MesSysUserDao.Instance.Save <Mes_Sys_User>(obj);
            return(Json(new { IsSuccess = true, Message = message }));
        }
Ejemplo n.º 7
0
        /// <summary>
        /// 用户保存
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public ActionResult UserMgt_Save(Mes_Sys_User obj)
        {
            if (string.IsNullOrEmpty(obj.UserID))
            {
                return(Json(new { IsSuccess = false, Message = "工号不能为空!" }));
            }
            if (string.IsNullOrEmpty(obj.UserName))
            {
                return(Json(new { IsSuccess = false, Message = "用户名不能为空!" }));
            }
            if (obj.ID <= 0)
            {
                obj.Pass         = "******";
                obj.RecordStatus = YesNoType.Yes;
                obj.Creater      = base.CurUser.UserId;
                obj.CreatedTime  = DateTime.Now;
            }

            MesSysUserDao.Instance.SaveExt(obj);
            return(Json(new { IsSuccess = true, Message = "操作成功!" }));
        }
Ejemplo n.º 8
0
        /// <summary>
        /// 修改密码
        /// </summary>
        /// <param name="userName"></param>
        /// <returns></returns>
        public string SysUser_ChangePwd(string oldpwd, string pwd, string npwd)
        {
            if (string.IsNullOrEmpty(oldpwd))
            {
                return("原密码不能为空!");
            }

            if (string.IsNullOrEmpty(pwd) || string.IsNullOrEmpty(npwd))
            {
                return("新密码和重复密码不能为空!");
            }

            string message = RegProvider.IsPassword("新密码和重复密码", pwd);

            if (!string.IsNullOrEmpty(message))
            {
                return(message);
            }

            if (pwd != npwd)
            {
                return("新密码和重复密码不一致!");
            }

            Mes_Sys_User obj = new Mes_Sys_User();

            obj.UserID = base.CurUser.UserId;
            obj.Pass   = oldpwd;
            Mes_Sys_User u = MesSysUserDao.Instance.GetUser(obj);

            if (u == null || u.ID < 0)
            {
                return("原密码有误!");
            }

            u.Pass = pwd;
            MesSysUserDao.Instance.Save <Mes_Sys_User>(u);
            return("OK");
        }
Ejemplo n.º 9
0
        //public UserModel _CurUser = null;

        /// <summary>
        /// 验证用户登录信息
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public bool ValidUser(HttpContextBase context)
        {
            UserModel _CurUser = null; //移到内部了

            //测试时使用
            this.Test();
            return(true);

            //1.校验Session
            if (_CurUser != null && _CurUser.ID > 0)
            {
                return(true);
            }

            _CurUser = SessionManager.Instance.GetSession <UserModel>(UserKey);
            if (_CurUser == null)
            {
                //2.校验Cookie
                HttpCookie cookie = context.Request.Cookies[UserKey];
                if (cookie == null || string.IsNullOrEmpty(cookie.Value))
                {
                    return(false);
                }

                string sUserInfo = cookie.Value;
                sUserInfo = EncryptUtil.DesDecrypt(sUserInfo);
                if (sUserInfo.IndexOf("|") < 0)
                {
                    return(false);
                }
                string loginName = sUserInfo.Split('|')[0];
                string password  = sUserInfo.Split('|')[1];
                if (string.IsNullOrEmpty(loginName) || string.IsNullOrEmpty(password))
                {
                    return(false);
                }

                //3.校验用户名、密码
                string oldPassword = password;
                //password = EncryptUtil.MD5Password(password).ToLower(); //md5加密
                Mes_Sys_User obj = new Mes_Sys_User()
                {
                    UserID = loginName, Pass = password
                };
                Mes_Sys_User user = MesSysUserDao.Instance.GetUser(obj);
                if (user == null || user.ID <= 0)
                {
                    return(false);
                }

                //4.校验Cookie成功,写入账号
                _CurUser          = new UserModel();
                _CurUser.ID       = user.ID;
                _CurUser.UserId   = user.UserID;
                _CurUser.Password = password;
                _CurUser.UserName = user.UserName;
                _CurUser.IsAdmin  = (user.IsAdmin == "Y");
                _CurUser.OrgID    = user.OrgID;

                SessionManager.Instance.AddSession(UserKey, _CurUser);
                return(true);
            }
            return(true);
        }