/// <summary> /// 将登录用户信息写入上下文 /// </summary> /// <param name="userData"></param> /// <returns></returns> private ApplicationUser ConvertApplicationUser(FrontIdentityUser userData) { return(new ApplicationUser() { Id = userData.Id, AccessFailedCount = userData.AccessFailedCount, ActiveWay = userData.ActiveWay, Address = userData.Address, Age = userData.Age, Area = userData.Area, ApprovalStatus = userData.ApprovalStatus, Birthday = userData.Birthday, City = userData.City, CreatedPerson = userData.CreatedPerson, CreateTime = userData.CreateTime, Email = userData.Email, EmailConfirmed = userData.EmailConfirmed, FaceImage = userData.FaceImage, Gender = userData.Gender, GenderName = userData.GenderName, IdentityConfirmed = userData.IdentityConfirmed, IdentityNumber = userData.IdentityNumber, Interest = userData.Interest, IsDel = userData.IsDel, IsNeedModifyPw = userData.IsNeedModifyPw, IsPay = userData.IsPay, IsPayName = userData.IsPayName, LockoutEnabled = userData.LockoutEnabled, LockoutEndDateUtc = userData.LockoutEndDateUtc, MLevel = userData.MLevel, MLevelName = userData.MLevelName, MType = userData.MType, MTypeName = userData.MTypeName, NickName = userData.NickName, No = userData.No, Password = userData.Password, PasswordHash = userData.PasswordHash, PayNumber = userData.PayNumber, PhoneNumber = userData.PhoneNumber, PhoneNumberConfirmed = userData.PhoneNumberConfirmed, Provency = userData.Provency, RealName = userData.RealName, SecurityStamp = userData.SecurityStamp, Status = userData.Status, StatusName = userData.StatusName, SystemMType = userData.SystemMType, SystemMTypeName = userData.SystemMTypeName, TwoFactorEnabled = userData.TwoFactorEnabled, UpdateTime = userData.UpdateTime, UserName = userData.UserName, VIN = userData.VIN }); }
public async Task <ActionResult> DoLoginByPhone(LoginViewModel model) { try { int isFirst = 0; if (!string.IsNullOrEmpty(model.Captcha)) { //第一:确认验证码 var validateCode = string.Empty; if (Session["ValidateCode"] != null) { validateCode = Session["ValidateCode"].ToString(); } if (!validateCode.Equals(model.Captcha)) { return(Json(new { code = 400, url = "/Account/LogonPage", msg = "图片验证码输入有误" })); } } ReturnResult _captchaResult = _AppContext.UserSecurityApp.ValidateMobileVerifyCode(model.UserName, model.SMSCaptcha); if (!_captchaResult.IsSuccess) { return(Json(new { code = 400, msg = "短信验证码错误或已过期,请重新获取" })); } //手机号是注册用直接登陆,否则注册新用户登陆 ApplicationUser applicationUser; if (this.LoginFactory(model, out applicationUser, 2)) { if (applicationUser != null) { if (applicationUser.IsNeedModifyPw == 1) { return(Json(new { code = 300, msg = " 帐户存在风险, 请先重置密码" })); } } _AppContext.LoginMemRecordApp.Add(applicationUser.Id, applicationUser.NickName, EDataSource.blms_wap); await SignInManager.SignInAsync(applicationUser, model.RememberMe, rememberBrowser : false); //BBSUtil.CheckAndCreateDefaultBBSMember(applicationUser); //new var returnIntegralType = (int)_AppContext.CarServiceUserApp.GetReIntegralTypeByIdentity(applicationUser.IdentityNumber); if (_AppContext.LoginMemRecordApp.IsReMemberShipRequest(applicationUser.Id) && returnIntegralType != -1 && applicationUser.IsPay != 2) { return(Json(new { code = 200, msg = "登录成功", isrequest = 1, returnIntegralType = returnIntegralType, identityNumber = applicationUser.IdentityNumber })); } else { return(Json(new { code = 200, msg = "登录成功", isrequest = 0 })); } } else //手机号未注册 ,注册并登陆 { isFirst = 1; var store = new FrontUserStore <FrontIdentityUser>(); var membershipManager = new UserManager <FrontIdentityUser>(store); if (store.CheckUserNameIsExist(model.UserName)) { return(Json(new { code = 400, success = false, msg = "系统中已存在此手机号" })); } IdentityResult CreateResult = null; var membershipIdentity = new FrontIdentityUser { No = _AppContext.MemberNumberApp.GetNumber("1"), //会员卡号 NickName = CommonUtilitys.GetNikeName(), UserName = model.UserName, // model.UserName, PhoneNumber = model.UserName, Password = "******" + model.UserName.Substring(model.UserName.Length - 6, 6), Status = (int)MembershipStatus.Nomal, CreateTime = DateTime.Now.ToLongTimeString(), CreatedPerson = "blms_wap", MType = (int)MembershipType.WhitoutCar, //非车主 MLevel = (int)MemshipLevel.OneStar, //级别 IsPay = (int)MembershipPayStatus.NotPay, //经销商新增的会员均为已缴纳100付费 ApprovalStatus = (int)MembershipApprovalStatus.Activing, //激活中 ActiveWay = (int)MembershipActiveWay.ClientWeb, IsNeedModifyPw = (int)MembershipNeedModifyPw.No, MLevelBeginDate = DateTime.Parse(DateTime.Now.ToShortDateString()), MLevelInvalidDate = DateTime.Parse(DateTime.Now.ToShortDateString()).AddYears(1), AuthenticationTime = DateTime.Parse("1900-01-01") }; CreateResult = membershipManager.Create(membershipIdentity, membershipIdentity.Password); // var user = store.FindByNameAsync(model.UserName).Result; if (CreateResult != null && !CreateResult.Succeeded) { var message = ""; foreach (var error in CreateResult.Errors) { message += error; } ModelState.AddModelError("", message); return(Json(new { success = false, msg = message })); } this.LoginFactory(model, out applicationUser, 2); _AppContext.LoginMemRecordApp.Add(applicationUser.Id, applicationUser.NickName, EDataSource.blms_wap); await SignInManager.SignInAsync(applicationUser, model.RememberMe, rememberBrowser : false); //BBSUtil.CheckAndCreateDefaultBBSMember(applicationUser); //new _AppContext.UserMessageRecordApp.InsertLoginChangePasswordMessage(applicationUser.Id); return(Json(new { code = 200, msg = "登录成功", first = isFirst })); } } catch (Exception ex) { return(Json(new { code = 400, msg = ex.Message })); } }