Exemplo n.º 1
0
        /// <summary>
        /// 用户登录
        /// </summary>
        /// <param name="userName"></param>
        /// <param name="pwd"></param>
        /// <param name="verifyCode"></param>
        /// <returns></returns>
        public static bool Login(LoginVM vm)//string userName, string pwd, string verifyCode)
        {
            //EncryptType encryptionStatus = EncryptType.Encryption;
            string newPassword = string.Empty;
            //string passwordSalt = string.Empty;


            //passwordSalt = LoginFacade.GetCustomerPasswordSalt(vm.CustomerID);
            //vm.Password = PasswordHelper.GetEncryptedPassword(HttpUtility.UrlDecode(vm.Password.Replace("+", "%2b")) + passwordSalt);
            // [2014/12/22 by Swika]增加支持第三方系统导入的账号的密码验证

            CustomerInfo user = null;
            //if (vm.SourceType == CustomerSourceType.TLYH)
            //{
            //    user = LoginFacade.TLYHCustomerLogin(vm.CustomerID, vm.Password);
            //    CookieHelper.SaveCookie<int>("BankAccountPoint", user.BankAccountPoint);//存储网银用户积分到cookie
            //}
            //else
            //{
            var encryptMeta = LoginFacade.GetCustomerEncryptMeta(vm.CustomerID);

            if (encryptMeta == null)
            {
                return(false);
            }
            vm.Password = PasswordHelper.GetEncryptedPassword(HttpUtility.UrlDecode(vm.Password.Replace("+", "%2b")), encryptMeta);
            user        = LoginFacade.CustomerLogin(vm.CustomerID, vm.Password);
            //}

            if (user != null)
            {
                LoginFacade.UpdateLastLoginTime(user.SysNo);
                LoginUser lUser = new LoginUser();
                lUser.UserDisplayName = user.CustomerName;
                lUser.UserID          = user.CustomerID;
                lUser.UserSysNo       = user.SysNo;
                lUser.CustomerRank    = user.CustomerRank;
                lUser.RememberLogin   = vm.RememberLogin;
                lUser.LoginDateText   = DateTime.Now.ToString();
                lUser.TimeoutText     = DateTime.Now.AddMinutes(int.Parse(ConfigurationManager.AppSettings["LoginTimeout"].ToString())).ToString();
                WriteUserInfo(lUser);
                LoginFacade.ClearCustomerLoginFailedCount(vm.CustomerID);
                return(true);
            }
            LoginFacade.IncrementCustomerLoginFailedCount(vm.CustomerID);
            return(false);
        }