Example #1
0
        /// <summary>
        /// 获取公共返回消息
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="status">状态</param>
        /// <param name="message">消息</param>
        /// <returns></returns>
        protected BaseJsonResult <T> GetBaseJsonResult <T>(JsonObjectStatus status = JsonObjectStatus.Error, string message = "") where T : class
        {
            BaseJsonResult <T> resultMsg = new BaseJsonResult <T>
            {
                Status  = (int)status,
                Message = $"{status.GetEnumDescription()}{message}",
            };

            return(resultMsg);
        }
Example #2
0
        /// <summary>
        /// 登录校验
        /// </summary>
        /// <param name="userAccount">用户账号</param>
        /// <param name="password">密码</param>
        /// <param name="status">状态</param>
        /// <returns></returns>
        public UserEntity CheckLogin(string userAccount, string password, out JsonObjectStatus status)
        {
            if (!string.IsNullOrEmpty(userAccount) && !string.IsNullOrEmpty(password))
            {
                //根据用户账号得到用户信息
                UserEntity user = o.BllSession.UserBll.FindEntity(u => u.Account.Equals(userAccount));
                if (user != null)
                {
                    if (user.EnabledMark)
                    {
                        string realPassword = Md5Helper.Md5(DESEncryptHelper.Encrypt(password, user.Secretkey));
                        if (realPassword.Equals(user.Password))
                        {
                            DateTime lastVisit  = DateTime.Now;
                            int      logOnCount = (user.LogOnCount).TryToInt32() + 1;

                            if (user.LastVisit != null)
                            {
                                user.PreviousVisit = user.LastVisit.TryToDateTime();
                            }

                            user.LastVisit  = lastVisit;
                            user.LogOnCount = logOnCount;
                            user.UserOnLine = 1;
                            //更新登录信息
                            int isSucc = o.BllSession.UserBll.Update(user);

                            status = JsonObjectStatus.Success;
                            return(user);
                        }
                        else
                        {
                            status = JsonObjectStatus.PasswordErr;
                            return(user);
                        }
                    }
                    else
                    {
                        status = JsonObjectStatus.AccountNotEnabled;
                        return(user);
                    }
                }
                else
                {
                    status = JsonObjectStatus.UserNotExist;
                    return(null);
                }
            }

            status = JsonObjectStatus.UserNotExist;
            return(null);
        }
Example #3
0
        /// <summary>
        /// 登录校验
        /// </summary>
        /// <param name="userAccount">用户账号</param>
        /// <param name="password">密码</param>
        /// <param name="status">状态</param>
        /// <returns></returns>
        public UserEntity CheckLogin(string userAccount, string password, out JsonObjectStatus status)
        {
            if (!string.IsNullOrEmpty(userAccount) && !string.IsNullOrEmpty(password))
            {
                //根据用户账号得到用户信息
                //UserEntity user = this.BaseRepository().FindEntity<UserEntity>(u => u.Account.Equals(userAccount));
                UserEntity user = this.BaseRepository().FindEntity <UserEntity>(u => u.Account == userAccount);
                if (user != null)
                {
                    if (user.EnabledMark)
                    {
                        string realPassword = Md5Helper.Md5(DESEncryptHelper.Encrypt(password, user.Secretkey));
                        if (realPassword.Equals(user.Password))
                        {
                            DateTime lastVisit  = DateTime.Now;
                            int      logOnCount = (user.LogOnCount).TryToInt32() + 1;

                            if (user.LastVisit != null)
                            {
                                user.PreviousVisit = user.LastVisit.TryToDateTime();
                            }

                            user.LastVisit  = lastVisit;
                            user.LogOnCount = logOnCount;
                            user.UserOnLine = 1;
                            //更新登录信息
                            //int isSucc = this.BaseRepository().Update<UserEntity>(new UserEntity { Id = user.Id, LastVisit = lastVisit, LogOnCount = logOnCount, UserOnLine = 1 }, e => e.Id == user.Id);
                            UserEntity update = new UserEntity
                            {
                                Id          = user.Id,
                                LastVisit   = lastVisit,
                                LogOnCount  = logOnCount,
                                UserOnLine  = 1,
                                EnabledMark = user.EnabledMark,
                                DeleteMark  = user.DeleteMark
                            };
                            int isSucc = this.BaseRepository().Update <UserEntity>(update);

                            status = JsonObjectStatus.Success;
                            return(user);
                        }
                        else
                        {
                            status = JsonObjectStatus.PasswordErr;
                            return(user);
                        }
                    }
                    else
                    {
                        status = JsonObjectStatus.AccountNotEnabled;
                        return(user);
                    }
                }
                else
                {
                    status = JsonObjectStatus.UserNotExist;
                    return(null);
                }
            }

            status = JsonObjectStatus.UserNotExist;
            return(null);
        }
Example #4
0
        public ActionResult CheckLogin(string username, string password, string verifycode, int autologin)
        {
            ActionResult res       = null;
            LogEntity    logEntity = new LogEntity
            {
                CategoryId     = (int)CategoryType.Login,
                OperateTypeId  = ((int)OperationType.Login).ToString(),
                OperateType    = OperationType.Login.GetEnumDescription(),
                OperateAccount = username,
                OperateUserId  = username,
                OperateTime    = DateTime.Now,
                IPAddress      = NetHelper.Ip,
                IPAddressName  = "",//NetHelper.GetAddressByIP(NetHelper.Ip),
                Browser        = NetHelper.Browser,
                Module         = ConfigHelper.GetValue("SoftName")
            };

            Logger(this.GetType(), "登录验证-CheckLogin", () =>
            {
                #region 验证码验证
                string code        = Md5Helper.Md5(verifycode.ToLower());
                string sessionCode = SessionHelper.GetSession <string>("session_verifycode");
                if (string.IsNullOrEmpty(sessionCode) || code != sessionCode)
                {
                    res = Error("验证码错误,请重新输入");
                }
                #endregion

                #region 账户验证
                else
                {
                    Tuple <UserEntity, JsonObjectStatus> tuple = userBll.CheckLogin(username, password);

                    JsonObjectStatus status = tuple.Item2;
                    UserEntity user         = tuple.Item1;
                    if (status != JsonObjectStatus.Success || user == null)
                    {
                        res = Error(status.GetEnumDescription());
                    }
                    else
                    {
                        string objId = permissionBll.GetObjectString(user.Id);

                        OperatorEntity operators = new OperatorEntity
                        {
                            UserId        = user.Id,
                            Code          = user.EnCode,
                            Account       = user.Account,
                            UserName      = user.RealName ?? user.NickName,
                            Password      = user.Password,
                            Secretkey     = user.Secretkey,
                            CompanyId     = user.OrganizeId,
                            DepartmentId  = user.DepartmentId,
                            IPAddress     = NetHelper.Ip,
                            IPAddressName = "",//NetHelper.GetAddressByIP(NetHelper.Ip),
                            ObjectId      = objId,
                            LoginTime     = DateTime.Now,
                            Token         = DESEncryptHelper.Encrypt(CommonHelper.GetGuid(), user.Secretkey)
                        };

                        //写入当前用户数据权限
                        string ReadAutorize        = authorizeBLL.GetDataAuthor(operators);
                        string ReadAutorizeUserId  = authorizeBLL.GetDataAuthorUserId(operators);
                        string WriteAutorize       = authorizeBLL.GetDataAuthor(operators, true);
                        string WriteAutorizeUserId = authorizeBLL.GetDataAuthorUserId(operators, true);

                        AuthorizeDataModel dataAuthorize = new AuthorizeDataModel
                        {
                            ReadAutorize        = ReadAutorize,
                            ReadAutorizeUserId  = ReadAutorizeUserId,
                            WriteAutorize       = WriteAutorize,
                            WriteAutorizeUserId = WriteAutorizeUserId
                        };
                        operators.DataAuthorize = dataAuthorize;
                        //判断是否系统管理员
                        operators.IsSystem = user.Account == "System";

                        //写入登录信息
                        OperatorProvider.Provider.AddCurrent(operators);

                        //写入日志
                        logEntity.ExecuteResult     = 1;
                        logEntity.ExecuteResultJson = "登录成功";
                        logBll.WriteLog(logEntity);

                        res = Success("登录成功", user, "/Home/AdminDefault");
                    }
                }
                #endregion
            }, e =>
            {
                CookieHelper.DelCookie("__autologin");//清除自动登录
                logEntity.ExecuteResult     = -1;
                logEntity.ExecuteResultJson = e.Message;
                logBll.WriteLog(logEntity);

                res = Error("系统异常:" + e.Message);
            }, () =>
            {
                SessionHelper.RemoveSession("session_verifycode");
            });
            return(res);
        }
Example #5
0
 /// <summary>
 /// 登录校验
 /// </summary>
 /// <param name="userAccount">用户账号</param>
 /// <param name="password">密码</param>
 /// <param name="status">状态</param>
 /// <returns></returns>
 public UserEntity CheckLogin(string userAccount, string password, out JsonObjectStatus status)
 {
     return(_userService.CheckLogin(userAccount, password, out status));
 }