/// <summary> /// 注册用户 /// </summary> /// <param name="request">注册用户的请求</param> /// <returns></returns> public override async Task <RpcResult <RegisterRsp> > RegisterAsync(RegisterReq request) { var res = new RpcResult <RegisterRsp>(); var rsp = new RegisterRsp(); bool isvalid = ValidateRegisterInfo(request, out string errorMsg); if (!isvalid) { res.Code = ErrorCodes.PARAMS_VALIDATION_FAIL; res.Data.ReturnMessage = errorMsg; return(res); } var user = new UserInfo(); user.Account = request.Account; user.FullName = request.FullName; user.Password = CryptographyManager.Md5Encrypt(user.Account + request.Password); user.IsAdmin = false; user.UpdateTime = DateTime.Now; user.CreateTime = DateTime.Now; var userId = await this._userRepo.InsertAsync(user); rsp.UserId = (int)userId; return(res); }
//调用委托 private async Task <AmpMessage> ProcessRegisterAsync(AmpMessage req) { RegisterReq request = null; if (req.Data == null) { request = new RegisterReq(); } else { request = RegisterReq.Parser.ParseFrom(req.Data); } req.FriendlyServiceName = "UserGateService.Register"; var result = await RegisterAsync(request); var response = AmpMessage.CreateResponseMessage(req.ServiceId, req.MessageId); response.FriendlyServiceName = "UserGateService.Register"; response.Code = result.Code; if (result.Data != null) { response.Data = result.Data.ToByteArray(); } return(response); }
public void Register(global::System.UInt64 hostId, global::System.String hostName) { var toHostId = Global.IdManager.GetHostIdByActorId(this.toActorId, this.isClient); if (this.FromHostId == toHostId) { var protoCode = OpCode.REGISTER_REQ; if (protoCode < OpCode.CALL_ACTOR_METHOD) { var peer = Global.NetManager.GetPeerById(this.FromHostId, this.NetType); var context = new RpcContext(null, peer); Global.Host.CallMethodWithParams(protoCode, new object[] { hostId, hostName, context }); } else { Global.Host.GetActor(this.toActorId).CallMethodWithParams(protoCode, new object[] { hostId, hostName }); } return; } Task.Run(() => { var msg = new RegisterReq() { hostId = hostId, hostName = hostName }; this.CallRemoteMethod(OpCode.REGISTER_REQ, msg, null); }); }
//同步方法 public RpcResult <RegisterRsp> Register(RegisterReq req) { AmpMessage message = AmpMessage.CreateRequestMessage(20003, 1); message.FriendlyServiceName = "UserService.Register"; message.Data = req.ToByteArray(); var response = base.CallInvoker.BlockingCall(message); if (response == null) { throw new RpcException("error,response is null !"); } var result = new RpcResult <RegisterRsp>(); if (response.Code != 0) { result.Code = response.Code; } if (response.Data == null) { result.Data = new RegisterRsp(); } else { result.Data = RegisterRsp.Parser.ParseFrom(response.Data); } return(result); }
public void RegisterToEvent(RegisterReq req) { /*This is bound to be common validation for a lot of RESTful requests. * I would much rather it be in a custom filter if I had the time*/ if (ctx.Events.Any(e => e.Name == req.EventName)) { req.IsError = true; req.Error = "This event does not exist"; } //far less common validation so give it to a service service.ValidateRegister(ref req); if (req.IsError) { throw new Exception(req.Error); } else { try { ctx.BeginTransaction(); ctx.Events.FirstOrDefault(e => e.Name == req.EventName && e.Location.Country.CountryCode == req.Country) .RegisteredEmails.Add(req.EmailAddress); ctx.SetModified(ctx.Events); ctx.CommitTransaction(); } catch { ctx.RollbackTransaction(); } } }
public object Register([FromBody] RegisterReq Req) { try { if (Req.Username == null || Req.Password == null) { return(ErrorResult(2, "Username or Password is null")); } var IsExist = DB.Accounts.Where(u => u.Username == Req.Username).Count() > 0; if (IsExist) { return(ErrorResult(1, "Username is duplicate")); } Account NewAccount = new Account() { Username = Req.Username, Password = MD5(Req.Password), Name = Req.Name, Gender = Req.Gender, Type = Req.Type, AccessToken = Guid.NewGuid().ToString("N"), ExpireDate = DateTime.Now.AddDays(60), Birthday = Req.Birthday, Avatar = Req.Avatar, Phone = Req.Phone }; DB.Accounts.InsertOnSubmit(NewAccount); DB.SubmitChanges(); return(SuccessResult(null)); } catch (Exception ex) { return(FailResult(ex)); } }
public async Task <IActionResult> Register([FromBody] RegisterReq model) { var userExists = await _userManager.FindByNameAsync(model.Username); if (userExists != null) { return(StatusCode(StatusCodes.Status500InternalServerError, new LoginRes { Status = "Error", Message = "User already exists!" })); } ApplicationUser user = new ApplicationUser() { //Email = model.Email, SecurityStamp = Guid.NewGuid().ToString(), UserName = model.Username, SellerId = model.SellerId }; var result = await _userManager.CreateAsync(user, model.Password); if (!result.Succeeded) { return(StatusCode(StatusCodes.Status500InternalServerError, new LoginRes { Status = "Error", Message = result.ToString() })); //"User creation failed! Please check user details and try again." }); } return(Ok(new LoginRes { Status = "Success", Message = "User created successfully!" })); }
public async Task <RpcResult <RegisterRsp> > RegisterAsync(RegisterReq req, int timeOut = 3000) { AmpMessage message = AmpMessage.CreateRequestMessage(20003, 1); message.FriendlyServiceName = "UserService.Register"; message.Data = req.ToByteArray(); var response = await base.CallInvoker.AsyncCall(message, timeOut); if (response == null) { throw new RpcException("error,response is null !"); } var result = new RpcResult <RegisterRsp>(); if (response.Code != 0) { result.Code = response.Code; } if (response.Data == null) { result.Data = new RegisterRsp(); } else { result.Data = RegisterRsp.Parser.ParseFrom(response.Data); } return(result); }
public override void Execute(INotification notification) { int mainproto = int.Parse(notification.Name); CmdType type = (CmdType)Enum.Parse(typeof(CmdType), notification.Type); if (type == CmdType.Request) { Message message = notification.Body as Message; Notify notify = new Notify(); notify.Protocol = mainproto; switch (mainproto) { case Protocol.Login: LoginReq loginReq = ReferencePool.Require <LoginReq>(); loginReq.Account = message.args[0].ToString(); loginReq.Password = message.args[1].ToString(); notify.message = loginReq.ToByteArray(); NetworkManager.SendRequest(notify); break; case Protocol.Regist: RegisterReq registerReq = ReferencePool.Require <RegisterReq>(); registerReq.Account = message.args[0].ToString(); registerReq.Password = message.args[1].ToString(); notify.message = registerReq.ToByteArray(); NetworkManager.SendRequest(notify); break; } } }
public async Task <IActionResult> Register(RegisterReq model) { if (!ModelState.IsValid) { return(BadRequest()); } if (_userDbContext.Users.Any(x => x.Email == model.Email)) { return(StatusCode(StatusCodes.Status409Conflict)); } var confirmationToken = GenerateToken(); _userDbContext.Users.Add(new User { Email = model.Email, Name = model.Name, PasswordHash = model.Password.Hash(), State = UserState.EmailConfirmation, ConirmationToken = confirmationToken }); await _userDbContext.SaveChangesAsync(); await _mailService.SendEmailConfirmation(model.Email, confirmationToken); return(Ok()); }
private void OnRegister() { RegisterReq req = new RegisterReq(); req.account = account; req.passwd = password; NetLogic.RequestNet(eProtocalCommand.REGISTER_CMD, req); }
private bool IsAlreadyRegistered(RegisterReq req) { string emailAddress = req.EmailAddress; return(repo.GetAllEvents() .FirstOrDefault(e => e.Name == req.EventName && e.Location.Country.CountryCode == req.Country).RegisteredEmails .Any(em => em == emailAddress)); }
public void SendMsg_Register(string username, string password) { RegisterReq req = new RegisterReq() { username = username, password = Util.Md5Sum(password) }; Globals.Instance.SendMsg <RegisterReq>(Consts_CommandId.C2S_Register, req); }
//[ProducesResponseType(typeof(UserReply), 200)] public IActionResult Signup([FromBody] RegisterReq register) { try { if (!ValidateHelper.IsEmailFormat(register.Email)) { return(Json(new JsonResultModel(ReturnCode.ParameterError, "Email format is not correct."))); } if (register.Password == "") { return(Json(new JsonResultModel(ReturnCode.ParameterError, "Password should not blank."))); } if (register.DeviceId == "") { return(Json(new JsonResultModel(ReturnCode.ParameterError, "Device id should not blank."))); } if (IsEnableInviteCode()) { register.EnableCode = true; if (register.InviteCode == "") { return(Json(new JsonResultModel(ReturnCode.ParameterError, "Miss invite code parameter cannot complete register."))); } } var reply = Client.Signup(register); JObject data = new JObject(); data["Id"] = reply.Id; data["Email"] = reply.Email; data["Activated"] = reply.Activated.ToString(); data["RegistIp"] = reply.RegistIp; data["DeviceId"] = reply.DeviceId; var factor = FactorClient.QueryFactor(new FactorReq() { UserId = reply.Id, Type = FactorType.EmailAuthType }); //发送邮件 string emailMessage; bool send = EmailEvent.RegisterEmail(reply.Email, reply.Id, factor.Code, out emailMessage); if (!send) { return(Json(new JsonResultModel(ReturnCode.MessageError, $"Email send failed: {emailMessage}"))); } return(Json(new JsonResultModel(ReturnCode.Success, "User register successful.", reply))); } catch (RpcException ex) { return(Json(new JsonResultModel(ReturnCode.SubmitError, ex.Status.Detail))); } }
public void IsAlreadyRegistered() { //Arrange Mock <IEventRegRepo> mock = new Mock <IEventRegRepo>(); mock.Setup(m => m.GetAllEvents()).Returns(new List <Event> { new Event { Name = "Testing Market", UkStartTime = new DateTime(2017, 5, 1, 12, 30, 0), UkEndTime = new DateTime(2017, 5, 1, 18, 0, 0), RegisteredEmails = new List <string> { "*****@*****.**" }, Location = new Location { City = "London", Country = new Country { Name = "United Kingdom", CountryCode = "UK" }, LocationTimezone = new LocationTimezone { Id = "UK", Name = "GMT Standard Time" } } } }); RegisterReq req = new RegisterReq { EventName = "Testing Market", Country = "UK", ArrivalTime = new DateTime(2017, 5, 1, 11, 0, 0), RegistrationDate = new DateTime(2017, 04, 30, 23, 18, 0), FirstName = "Adam", LastName = "Stevens", EmailAddress = "*****@*****.**" }; //Act EventRegService service = new EventRegService(mock.Object); service.ValidateRegister(ref req); //Assert Assert.IsTrue(req.IsError); Assert.IsTrue(req.Error.Length > 0); }
public void ModifyPassword(string pwdMd5, string npwdMd5, WorkDone cb = null) { RegisterReq regReq = new RegisterReq(); regReq.Version = 2; regReq.Args.Add(pwdMd5); regReq.Args.Add(npwdMd5); m_net.SendEnqueue(Constants.Lion_ModPass, 0, regReq, cb); }
public void Register() { //限制逻辑 RegisterReq req = new RegisterReq(); req.username = username.text; req.password = password.text; req.deviceID = SystemInfo.deviceUniqueIdentifier;//设备ID req.channel = "UC"; MobaNetwork.Send((ushort)MessageId.ERegisterReq, req); }
public void RegisterByEmail(string email, string pwdMd5, WorkDone cb = null) { RegisterReq regReq = new RegisterReq(); regReq.Version = 2; regReq.Args.Add(email); regReq.Args.Add(pwdMd5); m_net.SendEnqueue(Constants.Lion_Register, 0, regReq, cb); }
public ActionResult <CommonRes> PostResigter([FromBody] RegisterReq user) { User addUser = new User() { MyId = user.MyId, NickName = user.NickName, PassWord = user.PassWord, RegDate = DateTime.Now }; _service.AddObj(addUser); _service.UpdateDB(); return(Ok(new CommonRes())); }
public void OnClickRegisterButton() { RegisterReq req = new RegisterReq { userId = _inputId.text, userName = _inputName.text, userPassword = _inputPassword.text, }; _userID = req.userId; _userPassword = req.userPassword; NetworkManager.GetInstance().SendPacket <RegisterReq>(ENetworkMessage.REGISTER_REQ, req); _buttonRegister.interactable = false; }
public async Task <IActionResult> Register([FromBody] RegisterReq registerModel) { if (ModelState.IsValid) { //1. Check if user already exists if (!await _registerService.CheckIfUserExistsAsync(registerModel.UserName)) { //2. Check if password is strong enough if (PasswordStrength.CheckPasswordComplexity(registerModel.PassWord) && registerModel.UserName.EndsWith("@consid.se")) { //3. Create new identity user var user = await _registerService.RegisterNewUserAsync(registerModel); if (user != null) { //Send confirmationlink to email address //var token = await _registerService.GenerateEmailTokenAsync(user); //var link = Url.Action(action: "ConfirmEmail", controller: "Register", // new { userId = user.Id, token = token }, Request.Scheme); //await _registerService.SendEmailConfirmationAsync(user, link); //Write confirmationlink to file in MyPictures //var filePath = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures); //System.IO.File.WriteAllText(Path.Combine(filePath, $"ConfirmEmail---{user.Id}.txt"), link); return(Created("", new Response { Success = true })); } } return(BadRequest(new Response { Success = false, ErrorMessage = "Password not strong enough or invalid email-address" })); } return(BadRequest(new Response { Success = false, ErrorMessage = "A user with the submitted email-address already exists" })); } return(BadRequest(new Response { Success = false, ErrorMessage = "Both email and password must be submitted" })); }
public async override Task <RegisterRes> Register(RegisterReq request, ServerCallContext context) { GSUser user = mapper.Map <GSUser>(request); user.NickName = user.Name; user.LoginTime = user.CreateTime = DateTime.Now; user.LoginPwd = Md5Help.Md5Hash(user.LoginPwd + configuration["PwdHashSuffix"]); var key = await queryContext.AddAndGetKeyAsync(user); return(new RegisterRes() { ID = key, IsSuccess = true }); }
public void ValidateRegister(ref RegisterReq req) { //validate event email not already there if (IsAlreadyRegistered(req)) { req.IsError = true; req.Error = "The email entered has already been registered to this event"; } //validate arrival is on time if (IsTooLate(req)) { req.IsError = true; req.Error = "The arrival time booked is after the event finishes"; } }
public async Task <IActionResult> Register([FromForm] RegisterReq req) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var res = await _userSvc.Register(req); if (!res) { return(BadRequest("Register is unsuccessful")); } return(Ok()); }
public virtual ActionResult Register(RegisterReq mod) { lock (lockhelper) { if (string.IsNullOrEmpty(mod.phone)) { return(ResultUtils.Error("手机号码不能为空")); } else if (!Utils.IsValidMobile(mod.phone)) { return(ResultUtils.Error("手机号码格式有误")); } if (string.IsNullOrEmpty(mod.code)) { return(ResultUtils.Error("验证码不能为空")); } else if (mod.code.Trim().Length != 6) { return(ResultUtils.Error("验证码有误")); } else { } if (string.IsNullOrEmpty(mod.username)) { mod.username = mod.phone; } if (string.IsNullOrEmpty(mod.password)) { return(ResultUtils.Error("密码不能为空")); } userid = NH.Service.Api.AuthService.GetInstance().Regieste(mod); if (userid > 0) { Entity.Model.Token token = base.GetToken(); return(ResultUtils.Success(new { userId = token.UserID, timeStamp = token.Timestamp, platform = token.Platform, token = token.TokenStr })); } return(ResultUtils.Fail("注册失败")); } }
public async Task <bool> Register(RegisterReq req) { var user = new AppUser() { UserName = req.UserName, FirstName = req.FirstName, LastName = req.LastName, PhoneNumber = req.PhoneNumber, Email = req.Email }; var res = await _userManager.CreateAsync(user, req.Password); if (res.Succeeded) { return(true); } return(false); }
public HttpResponseMessage Register(RegisterReq req) { string phone = req.phone; string vCode = req.verificationCode; var pwd = req.password; var users = UserInfoOper.Instance.GetByPhone(phone); if (users.Count != 0) { return(ControllerHelper.Instance.JsonResult(500, "该手机号已注册")); } else { var code = CacheHelper.GetUserVerificationCode(phone); if (code == null)//缓存中没有这个手机的验证码了,正式时保留5分钟 { return(ControllerHelper.Instance.JsonResult(500, "请重新发送验证码")); } else if (code != vCode) { return(ControllerHelper.Instance.JsonResult(500, "验证码错误")); } else {//可以注册了 UserInfo userHere = new UserInfo(); userHere.userPhone = phone; userHere.userPwd = MD5Helper.Instance.StrToMD5(pwd); userHere.userHead = ""; var id = UserInfoOper.Instance.Add(userHere); userHere.id = id; userHere.userName = ""; //userHere.birthday = null; Token token = CacheHelper.SetUserToken(userHere); //userHere.Token = token.GetToken(); UserRes userRes = new UserRes(userHere, apiHost, token.GetToken()); return(ControllerHelper.Instance.JsonResult(200, JsonConvert.SerializeObject(userRes), "")); //var str = JsonHelper.JsonPlus(true, JsonConvert.SerializeObject(userRes), ""); //return ControllerHelper.Instance.JsonResult(str); //目前是返回了新的user记录了,移动端要什么再改-txy } } }
private bool IsTooLate(RegisterReq req) { /*This is assuming that the times are held in the database at Uk time always. * It also assumes that the frontend code will be display local time always. * local time for frontend would be given from server... if i had time to do that api endpoint * for a GET registration page... I would pass it a converted local time for the event they're picking. */ string eventName = req.EventName; string timeZoneName = repo.GetAllEvents() .FirstOrDefault(e => e.Name == req.EventName && e.Location.Country.CountryCode == req.Country) .Location.LocationTimezone.Name; DateTime ukEndTime = repo.GetAllEvents() .FirstOrDefault(e => e.Name == req.EventName) .UkEndTime; DateTime localEndTime = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(ukEndTime, timeZoneName); return(req.ArrivalTime > localEndTime); }
private bool ValidateRegisterInfo(RegisterReq req, out string error) { error = ""; if (string.IsNullOrEmpty(req.Account)) { error = "账号不能为空"; return(false); } if (string.IsNullOrEmpty(req.Password)) { error = "密码不能为空"; return(false); } if (string.IsNullOrEmpty(req.FullName)) { error = "用户名称不能为空"; return(false); } if (!Validator.IsStringLength(req.FullName, 1, 16)) { error = "用户名称太长了"; return(false); } if (!Validator.IsValidAccount(req.Account)) { error = "账号格式不合法:字母开头,允许5-16字节,允许字母数字下划线"; return(false); } if (!Validator.IsValidPassword(req.Password)) { error = "密码必须在6-18位之间"; return(false); } return(true); }
public async Task <IdentityUser> RegisterNewUserAsync(RegisterReq newModel) { try { var newUser = new IdentityUser { UserName = newModel.UserName, Email = newModel.UserName }; //Remove and activate email confirmation in RegisterController once in production newUser.EmailConfirmed = true; await _userManager.CreateAsync(newUser); await _userManager.AddPasswordAsync(newUser, newModel.PassWord); await _profileDataService.CreateNewProfileAsync((await _userManager.FindByNameAsync(newUser.UserName)).Id); return(await _userManager.FindByNameAsync(newModel.UserName)); } catch (Exception e) { throw new Exception(e.Message); } }