Ejemplo n.º 1
0
        public ActionResult StartUser(string id)
        {
            bool   success = false;
            string msg     = "";

            try
            {
                SYS_LOGIN_BLL loginbll = SYS_LOGIN_BLL.getInstance();
                SYS_LOGIN     model    = loginbll.GetByUserID(id);
                if (model.State == 2)
                {
                    model.State = 1;
                    success     = loginbll.Edit(model);
                }
                else if (model.State == 0)
                {
                    msg = "用户尚未授权,无法启用";
                }
                else if (true)
                {
                    msg = "用户已启用,请勿重复启用";
                }
            }
            catch (Exception ex)
            {
                Common.Helper.Logger.Info(string.Format("启用用户保存异常,异常信息:{0}", ex.ToString()));
                msg = "启用用户发生异常";
            }
            return(this.Json(new
            {
                success = success,
                msg = msg
            }));
        }
Ejemplo n.º 2
0
        public ActionResult Delet(string id)
        {
            bool   success = false;
            string msg     = "";

            try
            {
                SYS_LOGIN loginmodel = SYS_LOGIN_BLL.getInstance().GetByUserID(id);
                if (loginmodel.State == 0)
                {
                    success = bll.Remove(id, loginmodel.ID);
                }
                else
                {
                    msg = "用户已在使用中,不能删除";
                }
            }
            catch (Exception ex)
            {
                Common.Helper.Logger.Info(string.Format("删除用户,删除异常,UserID-【0】异常信息:{1}", id, ex.ToString()));
                msg = "删除异常";
            }

            return(this.Json(new
            {
                success = success,
                msg = msg
            }));
        }
Ejemplo n.º 3
0
        public ActionResult Edit(SYS_USER usermodel, SYS_LOGIN loginmodel)
        {
            bool   success = false;
            string msg     = "";

            try
            {
                SYS_USER  editmodel      = SYS_USER_BLL.getInstance().GetById(usermodel.UserID.ToString());
                SYS_LOGIN logineditmodel = SYS_LOGIN_BLL.getInstance().GetByUserID(usermodel.UserID.ToString());
                //输入密码
                if (!string.IsNullOrWhiteSpace(loginmodel.UserPassword))
                {
                    loginmodel.UpdateDate   = DateTime.Now;
                    loginmodel.UpdateUserID = UserSession.AccountInfo.UserID;
                    loginmodel.CreateUserID = logineditmodel.CreateUserID;
                    loginmodel.CreateDate   = loginmodel.CreateDate;
                    loginmodel.UserPassword = EncryptHelper.MD5DecryptString(loginmodel.UserPassword);
                }
                usermodel.UpdateDate   = DateTime.Now;
                usermodel.UpdateUserID = UserSession.AccountInfo.UserID;
                usermodel.CreateDate   = editmodel.CreateDate;
                usermodel.CreateUserID = editmodel.CreateUserID;
                success = bll.EditUser(usermodel, loginmodel);
            }
            catch (Exception ex)
            {
                Common.Helper.Logger.Info(string.Format("保存用户信息,保存异常,异常信息:{0}", ex.ToString()));
                msg = "保存异常";
            }
            return(this.Json(new
            {
                success = success,
                msg = msg
            }));
        }
Ejemplo n.º 4
0
        public ActionResult Add(SYS_USER usermodel, SYS_LOGIN loginmodel)
        {
            bool   success = false;
            string msg     = "保存成功";

            try
            {
                if (!bll.IsExist(loginmodel.UserName))
                {
                    usermodel.CreateDate    = DateTime.Now;
                    usermodel.CreateUserID  = UserSession.AccountInfo.UserID;
                    loginmodel.CreateDate   = DateTime.Now;
                    loginmodel.CreateUserID = UserSession.AccountInfo.UserID;
                    loginmodel.State        = 0;
                    loginmodel.UserPassword = EncryptHelper.MD5DecryptString(loginmodel.UserPassword);
                    success = bll.SaveUser(usermodel, loginmodel);
                }
                else
                {
                    msg = "用户名已存在";
                }
            }
            catch (Exception ex)
            {
                Common.Helper.Logger.Info(string.Format("保存用户信息,保存异常,异常信息:{0}", ex.ToString()));
                msg = "保存异常";
            }
            return(this.Json(new
            {
                success = success,
                msg = msg
            }));
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 编辑用户信息,登录信息
        /// </summary>
        /// <param name="usermodel"></param>
        /// <param name="loginmodel"></param>
        /// <returns></returns>
        public bool EditUser(SYS_USER usermodel, SYS_LOGIN loginmodel)
        {
            bool success = false;

            using (var dbcontext = DbFactory.Create())
            {
                try
                {
                    //重置密码
                    if (!string.IsNullOrWhiteSpace(loginmodel.UserPassword))
                    {
                        dbcontext.Update(loginmodel);
                    }
                    dbcontext.Update(usermodel);
                    dbcontext.Save();
                    success = true;
                }
                catch (Exception ex)
                {
                    success = false;
                    Logger.Error(string.Format("SYS_USER_BLL 编辑用户信息,异常信息:{0}", ex.ToString()));
                }
            }

            return(success);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 存入Session
        /// </summary>
        /// <param name="LoginID"></param>
        public void SaveSession(SYS_LOGIN loginmodel)
        {
            List <UserMenuModel> mennulist    = null;
            SYS_USER             usermodel    = null;
            List <SYS_ROLE>      userrolelist = null;

            using (var dbcontext = DbFactory.Create())
            {
                #region 获取用户菜单

                var args1 = new DbParameter[] {
                    new SqlParameter {
                        ParameterName = "@id", Value = loginmodel.ID
                    },
                };

                StringBuilder strmenuSql = new StringBuilder();
                strmenuSql.Append(" SELECT distinct(M.MenuCode),M.MenuName,M.ParentCode,M.LinkAddress,M.Sort,M.IconScript FROM  [SYS_USER]  U ");
                strmenuSql.Append(" INNER JOIN [SYS_LOGIN] L ON L.UserName =U.UserName");
                strmenuSql.Append(" INNER JOIN [SYS_ROLE_USER] R ON R.UserID=U.UserID");
                strmenuSql.Append(" INNER JOIN [SYS_ROLE_MENU_BUTTON] MB ON R.RoleID=MB.RoleID");
                strmenuSql.Append(" INNER JOIN [SYS_MENU] M ON M.MenuCode=MB.MenuCode WHERE L.ID=@id order by M.ParentCode,M.Sort");
                mennulist = dbcontext.SqlQuery <UserMenuModel>(strmenuSql.ToString(), args1);

                #endregion

                #region 获取用户信息
                Expression <Func <SYS_USER, bool> > exp = a => a.UserName == loginmodel.UserName;
                usermodel = dbcontext.Get(exp);
                #endregion

                #region 获取用户角色
                var args2 = new DbParameter[] {
                    new SqlParameter {
                        ParameterName = "@userid", Value = usermodel.UserID
                    },
                };
                StringBuilder strroleSql1 = new StringBuilder();
                strroleSql1.Append(" SELECT R.* FROM [SYS_ROLE_USER] RU");
                strroleSql1.Append(" INNER JOIN [SYS_USER] U ON RU.UserID=U.UserID");
                strroleSql1.Append(" INNER JOIN [SYS_ROLE] R ON R.RoleID=RU.RoleID");
                strroleSql1.Append(" WHERE U.UserID=@userid");
                userrolelist = dbcontext.SqlQuery <SYS_ROLE>(strroleSql1.ToString(), args2);
                #endregion

                UserSession user = new UserSession();
                user.Rolelist    = userrolelist;
                user.Menulist    = mennulist;
                user.AccountInfo = usermodel;
                user.logininfo   = loginmodel;

                SessionHelper.Add("Account", user, 30);
            }
        }
Ejemplo n.º 7
0
        /// <summary>
        /// 验证登录
        /// </summary>
        /// <param name="para"></param>
        /// <returns></returns>
        public LoginState CheckLogin(SYS_LOGIN logininfo)
        {
            LoginState state = LoginState.NoLogin;

            using (var dbcontext = DbFactory.Create())
            {
                try
                {
                    Expression <Func <SYS_LOGIN, bool> > exp = a => a.UserName == logininfo.UserName;

                    SYS_LOGIN model = dbcontext.Get(exp);

                    if (model == null)
                    {
                        //账号不存在
                        state = LoginState.AccountNoExist;
                    }
                    else
                    {
                        string inputpwd = EncryptHelper.MD5DecryptString(logininfo.UserPassword);
                        if (inputpwd == model.UserPassword)
                        {
                            if (model.State == 1)
                            {
                                //成功
                                state = LoginState.Success;
                                SaveSession(model);
                            }
                            else if (model.State == 0)
                            {
                                //未授权
                                state = LoginState.NoAuthorize;
                            }
                            else if (model.State == 2)
                            {
                                //账号锁定
                                state = LoginState.AccountLock;
                            }
                        }
                        else
                        {
                            //密码错误
                            state = LoginState.PwdError;
                        }
                    }
                }
                catch (Exception ex)
                {
                    Logger.Error(string.Format("【账号】-{0},登录异常,异常信息:{1}", logininfo.UserName, ex.ToString()));
                }
            }
            return(state);
        }
Ejemplo n.º 8
0
        ////// <summary>
        ////// 分页查询
        ////// </summary>
        ////// <param name="pageIndex"></param>
        ////// <param name="pageSize"></param>
        ////// <param name="whLamdba"></param>
        ////// <param name="recordCount"></param>
        ////// <param name="pageCount"></param>
        ////// <returns></returns>
        ///public List<SYS_LOGIN> PageQuery<TKey>(int pageIndex, int pageSize, Expression<Func<SYS_LOGIN, bool>> whLamdba,Expression<Func<SYS_LOGIN, TKey>> orderByLamdba, out int recordCount, out int pageCount)
        ///{
        ///    List<SYS_LOGIN> list = null;
        ///    try
        ///    {
        ///        if (pageIndex == 0)
        ///        {
        ///            pageIndex = 1;
        ///        }
        ///        list = idal.PageQuery(pageIndex, pageSize, out recordCount, out pageCount, whLamdba, orderByLamdba);
        ///    }
        ///    catch (Exception ex)
        ///    {
        ///        recordCount = 0;
        ///        pageCount = 0;
        ///        Logger.Error(string.Format("SYS_LOGIN_BLL 分页查询异常,异常信息:{0}", ex.ToString()));
        ///    }
        ///    return list;
        ///}

        /// <summary>
        /// 分页查询
        /// </summary>
        /// <param name="modle"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <param name="recordCount"></param>
        /// <param name="pageCount"></param>
        /// <returns></returns>
        public DataTable PageQuery(SYS_LOGIN modle, int pageIndex, int pageSize, out int recordCount, out int pageCount)
        {
            DataTable dt = new DataTable();

            using (var dbcontext = DbFactory.Create())
            {
                try
                {
                    SearchCondition condition = new SearchCondition();
                    if (modle != null)
                    {
                        #region 组装查询条件

                        //if (!string.IsNullOrWhiteSpace(modle.PlayerNickname))
                        //{
                        //    condition.AddCondition("a.PlayerNickname", modle.PlayerNickname, SqlOperator.Like, true);
                        //}

                        #endregion
                    }
                    PagerInfo pager = new PagerInfo();
                    #region 组装存储过程调用参数


                    //pager.curPage = pageIndex;
                    //pager.pageSize = pageSize;
                    //pager.isDescending = true;
                    //pager.fields = "a.*,c.GameName";
                    //pager.sortField = "a.UploadTime";
                    //pager.indexField = "a.ID";
                    //pager.where = null;
                    //pager.condition = condition;
                    //pager.tableName = "[ZhpGame].[dbo].[Zhp_GameRecord] a left join  [Zhp_OnlineGame] b on a.Gameid=b.Gameid left join [Zhp_GameConfig] c on b.GameCode= c.GameCode ";

                    #endregion
                    dt = dbcontext.PageQuery(pager, out recordCount, out pageCount);
                }
                catch (Exception ex)
                {
                    recordCount = 0;
                    pageCount   = 0;
                    Logger.Error(string.Format("SYS_LOGIN_BLL 分页查询异常,异常信息:{0}", ex.ToString()));
                }
            }
            return(dt);
        }
        /// <summary>
        /// 新增记录
        /// </summary>
        /// <param name="model">待新增实体</param>
        /// <returns></returns>
        public bool BulkAdd(List <SYS_ROLE_USER> list, string userid)
        {
            bool success = false;

            using (var dbcontext = DbFactory.Create())
            {
                try
                {
                    //批量删除
                    int keyid = Convert.ToInt32(userid);
                    Expression <Func <SYS_ROLE_USER, bool> > exp = a => a.UserID == keyid;
                    dbcontext.Delete(exp);

                    //批量插入
                    if (list != null && list.Count > 0)
                    {
                        foreach (var item in list)
                        {
                            dbcontext.Insert(item);
                        }
                        //改变授权状态 已授权
                        SYS_LOGIN loginmodel = SYS_LOGIN_BLL.getInstance().GetByUserID(userid);
                        loginmodel.State = 1;
                        dbcontext.Update(loginmodel);
                    }
                    else
                    {
                        //改变授权状态 未授权
                        SYS_LOGIN loginmodel = SYS_LOGIN_BLL.getInstance().GetByUserID(userid);
                        loginmodel.State = 0;
                        dbcontext.Update(loginmodel);
                    }

                    //保存
                    dbcontext.Save();
                    success = true;
                }
                catch (Exception ex)
                {
                    Logger.Error(string.Format("SYS_ROLE_USER_BLL 新增记录异常,异常信息:{0}", ex.ToString()));
                }
            }

            return(success);
        }
Ejemplo n.º 10
0
        /// <summary>
        /// 根据主键获取实体
        /// </summary>
        /// <param name="pkId">主键</param>
        /// <returns></returns>
        public SYS_LOGIN GetById(string pkId)
        {
            SYS_LOGIN model = null;

            using (var dbcontext = DbFactory.Create())
            {
                try
                {
                    int id = Convert.ToInt32(pkId);
                    Expression <Func <SYS_LOGIN, bool> > exp = a => a.ID == id;
                    model = dbcontext.Get(exp);
                }
                catch (Exception ex)
                {
                    Logger.Error(string.Format("SYS_LOGIN_BLL 根据主键获取实体异常,异常信息:{0}", ex.ToString()));
                }
            }
            return(model);
        }
Ejemplo n.º 11
0
        /// <summary>
        /// 获取登录信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public SYS_LOGIN GetByUserID(string id)
        {
            SYS_LOGIN model = null;

            using (var dbcontext = DbFactory.Create())
            {
                try
                {
                    string username = SYS_USER_BLL.getInstance().GetById(id).UserName;
                    Expression <Func <SYS_LOGIN, bool> > exp = a => a.UserName == username;
                    model = dbcontext.Get(exp);
                }
                catch (Exception ex)
                {
                    Logger.Error(string.Format("判断用户是否授权,异常,异常信息:UserID-【0】-{1}", id, ex.ToString()));
                }
            }

            return(model);
        }
Ejemplo n.º 12
0
        /// <summary>
        /// 编辑
        /// </summary>
        /// <param name="model">新实体</param>
        /// <returns></returns>
        public bool Edit(SYS_LOGIN model)
        {
            bool success = false;

            using (var dbcontext = DbFactory.Create())
            {
                try
                {
                    dbcontext.Update(model);
                    dbcontext.Save();
                    success = true;
                }
                catch (Exception ex)
                {
                    success = false;
                    Logger.Error(string.Format("SYS_LOGIN_BLL 编辑记录异常,异常信息:{0}", ex.ToString()));
                }
            }
            return(success);
        }
Ejemplo n.º 13
0
        /// <summary>
        /// 根据条件获取列表
        /// </summary>
        /// <param name="querymodel">条件</param>
        /// <returns></returns>
        public List <SYS_LOGIN> GetList(SYS_LOGIN querymodel)
        {
            List <SYS_LOGIN> list = null;

            using (var dbcontext = DbFactory.Create())
            {
                try
                {
                    int id = Convert.ToInt32(querymodel.ID);
                    Expression <Func <SYS_LOGIN, bool> > exp  = a => a.ID == id;
                    Expression <Func <SYS_LOGIN, bool> > temp = a => 1 == 1;
                    exp  = CompileLinqSearch.AndAlso(exp, temp);
                    list = dbcontext.Find(exp);
                }
                catch (Exception ex)
                {
                    Logger.Error(string.Format("SYS_LOGIN_BLL 根据条件获取列表异常,异常信息:{0}", ex.ToString()));
                }
            }
            return(list);
        }
Ejemplo n.º 14
0
        /// <summary>
        /// 保存用户信息,登录信息
        /// </summary>
        /// <param name="usermodel"></param>
        /// <param name="loginmodel"></param>
        /// <returns></returns>
        public bool SaveUser(SYS_USER usermodel, SYS_LOGIN loginmodel)
        {
            bool success = false;

            using (var dbcontext = DbFactory.Create())
            {
                try
                {
                    dbcontext.Insert(usermodel);
                    dbcontext.Insert(loginmodel);
                    dbcontext.Save();
                    success = true;
                }
                catch (Exception ex)
                {
                    success = false;
                    Logger.Error(string.Format("SYS_USER_BLL 插入用户信息,异常信息:{0}", ex.ToString()));
                }
            }

            return(success);
        }
        /// <summary>
        /// 验证登录
        /// </summary>
        /// <param name="username"></param>
        /// <param name="pwd"></param>
        /// <param name="usercode"></param>
        /// <param name="remember"></param>
        /// <returns></returns>
        public ActionResult CheckLogin(string username, string pwd, string usercode, bool remember)
        {
            // 验证码如果不为空,则需要验证码判断
            if (!string.IsNullOrEmpty(usercode))
            {
                string valerror = string.Empty;
                //if (!ValiDateCode(0, usercode.ToUpper(), out valerror))
                //{
                //    return this.Json(new
                //    {
                //        success = false,
                //        error = valerror
                //    });
                //}
            }

            SYS_LOGIN para = new SYS_LOGIN();

            para.UserName     = username;
            para.UserPassword = pwd;

            try
            {
                // 1.返回用户信息,权限信息,菜单信息等
                LoginState state = SYS_LOGIN_BLL.getInstance().CheckLogin(para);

                // 2.密码错误
                if (state == LoginState.PwdError)
                {
                    return(this.Json(new
                    {
                        success = false,
                        error = "密码输入错误"
                    }));
                }

                // 3.用户被禁用
                if (state == LoginState.AccountLock)
                {
                    return(this.Json(new
                    {
                        success = false,
                        error = "用户已被禁用,请联系管理员"
                    }));
                }

                // 4.账户不存在
                if (state == LoginState.AccountNoExist)
                {
                    return(this.Json(new
                    {
                        success = false,
                        error = "账号不存在"
                    }));
                }

                // 5.账户未授权
                if (state == LoginState.NoAuthorize)
                {
                    return(this.Json(new
                    {
                        success = false,
                        error = "账号未经授权,请联系管理员"
                    }));
                }

                // 用户选择记住账号
                if (remember)
                {
                    CookieHelper.SetCookie("username", username);
                }

                return(this.Json(new
                {
                    success = true,
                }));
            }
            catch (Exception ex)
            {
                Logger.Error(string.Format("【账号】-{0},登录异常,异常信息:{1}", username, ex.ToString()));
                return(Json(new
                {
                    success = false,
                    error = ex.Message
                }));
            }
        }