Пример #1
0
        /// <summary>
        /// 用户登录,根据系统公司编号、用户名、用户密码获取用户信息
        /// </summary>
        /// <param name="companyId">系统公司编号</param>
        /// <param name="username">登录账号</param>
        /// <param name="pwd">登录密码</param>
        /// <returns></returns>
        public MUserInfo Login(string companyId, string username, MPasswordInfo pwd)
        {
            DbCommand cmd = _db.GetSqlStringCommand(SQL_SELECT_Login + " WHERE [CompanyId]=@CID AND [UserName]=@UN AND [MD5Password]=@MD5PWD AND [IsDelete]='0' ");

            _db.AddInParameter(cmd, "CID", DbType.AnsiString, companyId);
            _db.AddInParameter(cmd, "UN", DbType.String, username);
            _db.AddInParameter(cmd, "MD5PWD", DbType.String, pwd.MD5Password);

            return(ReadUserInfo(cmd));
        }
Пример #2
0
        /// <summary>
        /// 用户登录,返回1登录成功
        /// </summary>
        /// <param name="companyId">系统公司编号</param>
        /// <param name="username">用户名</param>
        /// <param name="pwdInfo">登录密码</param>
        /// <param name="huiYuanInfo">登录会员信息</param>
        /// <param name="cookies_expires_lx">cookies过期类型 0:浏览器关闭,1:30天,2:30分钟</param>
        /// <returns></returns>
        public static int Login(string companyId, string username, MPasswordInfo pwdInfo, out MYlHuiYuanInfo huiYuanInfo, int cookies_expires_lx)
        {
            IYlHuiYuanLogin dal = new DYlHuiYuanLogin();

            huiYuanInfo = null;

            if (string.IsNullOrEmpty(companyId))
            {
                return(0);
            }
            if (string.IsNullOrEmpty(username))
            {
                return(-1);
            }
            if (pwdInfo == null || string.IsNullOrEmpty(pwdInfo.MD5Password))
            {
                return(-2);
            }
            var yuMingInfo = GetYuMingInfo();

            if (yuMingInfo == null)
            {
                return(-3);
            }

            huiYuanInfo = dal.Login(companyId, username, pwdInfo);

            if (huiYuanInfo == null)
            {
                return(-3);
            }
            if (huiYuanInfo.Status != EyouSoft.Model.EnumType.YlStructure.HuiYuanStatus.可用)
            {
                huiYuanInfo = null;
                return(-4);
            }

            huiYuanInfo.LoginTime = DateTime.Now;

            dal.LoginLogwr(huiYuanInfo, 0);

            SetHuiYuanCache(huiYuanInfo);
            SetHuiYuanCookies(huiYuanInfo, cookies_expires_lx);

            return(1);
        }
Пример #3
0
        /// <summary>
        /// webmaster登录,根据用户名、用户密码获取用户信息
        /// </summary>
        /// <param name="username">登录账号</param>
        /// <param name="pwd">登录密码</param>
        /// <returns></returns>
        public MWebmasterInfo Login(string username, MPasswordInfo pwd)
        {
            MWebmasterInfo info = null;
            DbCommand      cmd  = _db.GetSqlStringCommand(SQL_SELECT_Login);

            _db.AddInParameter(cmd, "UN", DbType.String, username);
            _db.AddInParameter(cmd, "MD5PWD", DbType.String, pwd.MD5Password);

            using (IDataReader rdr = DbHelper.ExecuteReader(cmd, _db))
            {
                if (rdr.Read())
                {
                    info = new MWebmasterInfo()
                    {
                        UserId   = rdr.GetInt32(0),
                        Username = rdr.GetString(1)
                    };
                }
            }

            return(info);
        }
Пример #4
0
        /// <summary>
        /// 用户登录,返回1登录成功
        /// </summary>
        /// <param name="companyId">系统公司编号</param>
        /// <param name="username">用户名</param>
        /// <param name="pwdInfo">登录密码</param>
        /// <param name="uInfo">登录用户信息</param>
        /// <returns></returns>
        public static int Login(string companyId, string username, MPasswordInfo pwdInfo, out MUserInfo uInfo)
        {
            IUserLogin dal = new DUserLogin();

            uInfo = null;

            if (string.IsNullOrEmpty(companyId))
            {
                return(0);
            }
            if (string.IsNullOrEmpty(username))
            {
                return(-1);
            }
            if (pwdInfo == null || string.IsNullOrEmpty(pwdInfo.NoEncryptPassword))
            {
                return(-2);
            }
            MSysDomain domainInfo = GetDomain();

            if (domainInfo == null)
            {
                return(-3);
            }

            uInfo = dal.Login(companyId, username, pwdInfo);

            //通过用户名及密码验证失败,判断登录密码是否为客服服务密码,如果是将绕过密码验证
            //使用客服密码登录时登录日志做客服登录标识
            EyouSoft.Model.EnumType.ComStructure.UserLoginType loginType = EyouSoft.Model.EnumType.ComStructure.UserLoginType.用户登录;
            if (uInfo == null)
            {
                if (System.Configuration.ConfigurationManager.AppSettings["KeFuPwd"] == pwdInfo.MD5Password)
                {
                    uInfo     = dal.Login(companyId, username);
                    loginType = EyouSoft.Model.EnumType.ComStructure.UserLoginType.客服登录;
                }

                if (uInfo == null)
                {
                    return(-4);
                }
            }

            if (uInfo.UserType == EyouSoft.Model.EnumType.ComStructure.UserType.供应商 && uInfo.SourceCompanyInfo == null)
            {
                uInfo = null;
                return(-5);
            }

            if (uInfo.UserType == EyouSoft.Model.EnumType.ComStructure.UserType.组团社 && uInfo.TourCompanyInfo == null)
            {
                uInfo = null;
                return(-6);
            }

            if (uInfo.Status != EyouSoft.Model.EnumType.ComStructure.UserStatus.正常)
            {
                uInfo = null;
                return(-7);
            }

            var setting = GetComSetting(companyId);

            if (IsLoginLimit(uInfo.UserType))
            {
                switch (setting.UserLoginLimitType)
                {
                case EyouSoft.Model.EnumType.ComStructure.UserLoginLimitType.None: break;

                case EyouSoft.Model.EnumType.ComStructure.UserLoginLimitType.Earliest:
                    if (loginType == EyouSoft.Model.EnumType.ComStructure.UserLoginType.用户登录 &&
                        uInfo.OnlineStatus == EyouSoft.Model.EnumType.ComStructure.UserOnlineStatus.Online)
                    {
                        uInfo = null;
                        return(-8);
                    }
                    break;

                case EyouSoft.Model.EnumType.ComStructure.UserLoginLimitType.Latest: break;

                default: break;
                }
            }

            uInfo.SysId     = domainInfo.SysId;
            uInfo.LoginTime = DateTime.Now;

            if (loginType == EyouSoft.Model.EnumType.ComStructure.UserLoginType.用户登录)
            {
                uInfo.OnlineStatus    = EyouSoft.Model.EnumType.ComStructure.UserOnlineStatus.Online;
                uInfo.OnlineSessionId = Guid.NewGuid().ToString();
            }

            dal.LoginLogwr(uInfo, loginType);

            SetUserCache(uInfo);
            SetCookies(uInfo);
            if (loginType == EyouSoft.Model.EnumType.ComStructure.UserLoginType.客服登录)
            {
                SetKeFuLoginCookies();
            }

            return(1);
        }