public ResponseMessage <User> Update(ChangePasswordRequest changePasswordRequest) { ResponseMessage <User> response = new ResponseMessage <User>(); User entity = GetByID(changePasswordRequest.PublicID).ResponseObject; try { changePasswordRequest.OldPassword = PasswordHasher.Create(changePasswordRequest.OldPassword, entity.Email); changePasswordRequest.NewPassword = PasswordHasher.Create(changePasswordRequest.NewPassword, entity.Email); if (entity.Password == changePasswordRequest.OldPassword) { entity.Password = changePasswordRequest.NewPassword; response.ResponseObject = _userRepository.Update(entity); response.IsSuccess = true; response.ErrorMessage = "Success"; } else { throw new Exception("Passowords don't match!"); } } catch (Exception ex) { response.IsSuccess = false; response.ErrorMessage = ex.Message; } return(response); }
public ResponseMessage <User> Create(RegisterUserRequest data) { //TODO: RegisterUserRequest beletenni minden olyan tulajdonsagot ami szukseges a User es a Profile objektumok letrehozasara ResponseMessage <User> response = new ResponseMessage <User>(); try { User user = new User(data); user.Password = PasswordHasher.Create(data.Password, data.Email); user.PublicID = UniqKeyGenerator.Generate(); response.ResponseObject = _userRepository.Create(user); Profile profile = data.ConvertTo <Profile>(); profile.ID = user.PublicID; _profileRepository.Create(profile); response.IsSuccess = true; response.ErrorMessage = "Success"; } catch (Exception ex) { response.IsSuccess = false; response.ErrorMessage = ex.Message; } return(response); }
public ResponseMessage <bool> MatchPassword(string password, string id) { ResponseMessage <bool> response = new ResponseMessage <bool>(); try { User user = _userRepository.GetByID(id.Reverse()); if (user.Password == PasswordHasher.Create(password, user.Email)) { response.ResponseObject = true; } else { response.ResponseObject = false; } response.IsSuccess = true; response.ErrorMessage = "Success"; } catch (Exception ex) { response.IsSuccess = false; response.ErrorMessage = ex.Message; } return(response); }
public ResponseMessage <bool> ChangePassword(ChangePasswordRequest model, string identity) { ResponseMessage <bool> response = new ResponseMessage <bool>(); try { //find the user User user = _userRepository.FindByUniq(identity.Reverse()); //validate the old password string password = PasswordHasher.Create(model.OldPassword, user.Email); if (user.Password != password) { throw new Exception($"Old password doesn't match."); } //create the new password password = PasswordHasher.Create(model.NewPassword, user.Email); user.Password = password; //update user data _userRepository.Update(user); response.ResultObject = true; } catch (Exception ex) { response.IsSuccess = false; response.ErrorMessage = ex.Message; } return(response); }
public IActionResult AddStudent([FromBody] Student student) { student.IndexNumber = $"s{new Random().Next(1, 20000)}"; student.Salt = PasswordHasher.CreateSalt(); student.Password = PasswordHasher.Create(student.Password, student.Salt); studentDbService.AddStudent(student); return(Ok(student)); }
/*public ResponseMessage<bool> CreateLinkAsync(ForgotPasswordRequest model) * { * ResponseMessage<bool> response = new ResponseMessage<bool>(); * User user = null; * * try * { * //first find the user by the given email * user.Email = _userRepository.FindEmail(model.Email); * * //if there is no registered user with the given email, we emmit error * if (user == null) * { * throw new Exception($"There are no registered user with the provided {model.Email} e-mail address."); * } * * //now create the reset password token (a hash) * string resetPasswordToken = ResetPasswordUrl.Create(user.PublicID); * * ResetPasswordHashEntity data = new ResetPasswordHashEntity(user.PublicID, resetPasswordToken); * * //insert the token in the database * _resetPasswordHashRepository.Delete(user.PublicID); * response.IsSuccess = _resetPasswordHashRepository.Create(data); * * string link = string.Empty; * * if (user.Role.ToLower() == UserRole.Agency.ToString().ToLower()) * { * link = $@"https://portalnekretnine.com/reset-password/" + $"{resetPasswordToken}/"; * } * else * { * link = $@"https://portalnekretnine.com/admin/reset-password/" + $"{resetPasswordToken}/"; * } * * * //the email message text + link #if DEBUG * // string message = CreateResetPasswordEmailBody(@"D:\PortalNekretnine\Beckend\portalnekretnine.services\EmailTemplates\resetPassword.html", link); #else * // string message = CreateResetPasswordEmailBody(@"/var/www/portalnekretnine/EmailTemplates/resetPassword.html", link); #endif * * //send the email * //EmailSender.SendEmailAsync(model.Email, "portalnekretnine.com reset password url", message); * * response.ResultObject = true; * } * catch (Exception ex) * { * response.IsSuccess = false; * response.ErrorMessage = ex.Message; * response.ResultObject = false; * * _resetPasswordHashRepository.Delete(user.PublicID); * } * * return response; * }*/ public ResponseMessage <bool> UpdatePassword(ResetPasswordRequest model) { ResponseMessage <bool> response = new ResponseMessage <bool>(); try { //find the record using the resetPasswordToken ResetPasswordHashEntity data = _resetPasswordHashRepository.Find(model.ResetPasswordToken); //if no record was found using the token if (data == null) { throw new Exception($"There has not been request for password reset on www.portalnekretnine.com"); } //if record was found using the provided token //we check if it is still valid (token lives 5 minutes) DateTime now = DateTime.Now; double elipsedMinutes = now.Subtract(data.Date).TotalMinutes; if (elipsedMinutes > 100) { //if token is expired we delete the record from the database response.ResultObject = false; _resetPasswordHashRepository.Delete(data.Uniq); throw new Exception($"Reset token has expired!"); } //if token is still active, then we update the database User user = _userRepository.FindByUniq(data.Uniq); user.Password = PasswordHasher.Create(model.Password, user.Email); _userRepository.Update(user); //after update delete the token data form DB _resetPasswordHashRepository.Delete(data.Uniq); response.ResultObject = true; } catch (Exception ex) { response.IsSuccess = false; response.ErrorMessage = ex.Message; } return(response); }
public ResponseMessage <User> FindByCredencials(string email, string password) { ResponseMessage <User> response = new ResponseMessage <User>(); try { response.ResponseObject = _userRepository.FindByCredencials(email, PasswordHasher.Create(password, email)); response.IsSuccess = true; } catch (Exception ex) { response.ErrorMessage = ex.Message; response.IsSuccess = false; } return(response); }
private void btnCreate_Click(object sender, EventArgs e) { try { string fName = txtFName.Text; string lName = txtLName.Text; string username = txtUser.Text; string password = txtPassword.Text; PasswordHasher.Create(fName, lName, username, password); MessageBox.Show("Medarbejderen er nu oprettet", "Besked"); } catch (FaultException <EmployeeNotCreatedException> exception) { MessageBox.Show(exception.Detail.Message, "Fejl"); } CleanFields(); }
public ResponseMessage <User> Create(RegisterUserRequest data) { ResponseMessage <User> response = new ResponseMessage <User>(); try { //check if the user exists bool exist = _userRepository.FindEmail(data.Email); //if exist throw exeption if (exist == true) { throw new Exception($"{data.Email} already taken!"); } User user = new User(data); user.Password = PasswordHasher.Create(data.Password, data.Email); user.PublicID = UniqKeyGenerator.Generate(); user.Role = UserRole.User.ToString(); data.Role = UserRole.User.ToString(); response.ResponseObject = _userRepository.Create(user); //create the profile Profile profile = new Profile(user.PublicID, data); response.IsSuccess = _profileRepository.Create(profile); //SendWelcomeEmail(user.Email); } catch (Exception ex) { response.ErrorMessage = ex.Message; response.IsSuccess = false; } return(response); }
public MappingProfile() { CreateMap <UnitOrganisasiCreate, UnitOrganisasi>(); CreateMap <UserCreate, User>() .ForMember(d => d.Password, opt => opt.MapFrom(s => PasswordHasher.Create(s.Password))) .ForMember(d => d.Username, opt => opt.MapFrom(s => s.Username.ToLower())); CreateMap <UserUpdate, User>() .ForMember(d => d.Password, opt => opt.MapFrom(s => PasswordHasher.Create(s.NewPassword))); CreateMap <User, UserDto>(); CreateMap <GolonganCreate, Golongan>(); CreateMap <GolonganUpdate, Golongan>(); CreateMap <MenuCreateCommand, Menu>(); CreateMap <MenuUpdateCommand, Menu>(); CreateMap <RoleCreate, Role>() .ForMember(d => d.Nama, opt => opt.MapFrom(s => s.Nama.ToLower())); CreateMap <RoleUpdate, Role>() .ForMember(d => d.Nama, opt => opt.MapFrom(s => s.Nama.ToLower())); CreateMap <UserRole, UserRoleDto>(); CreateMap <UserRoleCreate, UserRole>(); CreateMap <BankCreate, Bank>(); CreateMap <BankUpdate, Bank>(); CreateMap <BPKCreate, BPK>(); CreateMap <BPKUpdate, BPK>(); CreateMap <BENDCreate, BEND>(); CreateMap <BENDUpdate, BEND>(); CreateMap <DAFTUNITCreate, DAFTUNIT>(); CreateMap <DAFTUNITUpdate, DAFTUNIT>(); CreateMap <DAFTPHKCreate, DAFTPHK>(); CreateMap <DAFTPHKUpdate, DAFTPHK>(); CreateMap <KEGUNITCreate, KEGUNIT>(); CreateMap <KEGUNITUpdate, KEGUNIT>(); CreateMap <BPKDETRCreate, BPKDETR>(); CreateMap <BPKDETRUpdate, BPKDETR>(); CreateMap <BPKDETRDANACreate, BPKDETRDANA>(); CreateMap <BPKDETRDANAUpdate, BPKDETRDANA>(); CreateMap <MKegiatanCreate, MKegiatan>(); CreateMap <MKegiatanUpdate, MKegiatan>(); CreateMap <MPGRMCreate, MPGRM>(); CreateMap <MPGRMUpdate, MPGRM>(); CreateMap <PegawaiCreate, Pegawai>(); CreateMap <PegawaiUpdate, Pegawai>(); CreateMap <PGRMUNITCreate, PGRMUNIT>(); CreateMap <PGRMUNITUpdate, PGRMUNIT>(); CreateMap <MATANGRCreate, MATANGR>(); CreateMap <MATANGRUpdate, MATANGR>(); CreateMap <JBAYARCreate, JBAYAR>(); CreateMap <JBAYARUpdate, JBAYAR>(); CreateMap <JTRANSFERCreate, JTRANSFER>(); CreateMap <JTRANSFERUpdate, JTRANSFER>(); CreateMap <JDANACreate, JDANA>(); CreateMap <JDANAUpdate, JDANA>(); CreateMap <BeritaCreate, Berita>(); CreateMap <BeritaUpdate, Berita>(); CreateMap <BERITADETRCreate, BERITADETR>(); CreateMap <BERITADETRUpdate, BERITADETR>(); CreateMap <SP2DCreate, SP2D>(); CreateMap <SP2DUpdate, SP2D>(); CreateMap <SP2DBPKCreate, SP2DBPK>(); CreateMap <SP2DBPKUpdate, SP2DBPK>(); CreateMap <BPKSP2DCreate, BPKSP2D>(); CreateMap <BPKSP2DUpdate, BPKSP2D>(); CreateMap <DASKRCreate, DASKR>(); CreateMap <DASKRUpdate, DASKR>(); CreateMap <KontrakCreate, Kontrak>(); CreateMap <KontrakUpdate, Kontrak>(); CreateMap <SBDANARCreate, SBDANAR>(); CreateMap <SBDANARUpdate, SBDANAR>(); CreateMap <NPDCreate, NPD>(); CreateMap <NPDUpdate, NPD>(); CreateMap <NPDBPKCreate, NPDBPK>(); CreateMap <NPDBPKUpdate, NPDBPK>(); CreateMap <NPDSTSCreate, NPDSTS>(); CreateMap <NPDSTSUpdate, NPDSTS>(); CreateMap <NPDTBPLCreate, NPDTBPL>(); CreateMap <NPDTBPLUpdate, NPDTBPL>(); CreateMap <STATTRSCreate, STATTRS>(); CreateMap <STATTRSUpdate, STATTRS>(); CreateMap <JCAIRCreate, JCAIR>(); CreateMap <JCAIRUpdate, JCAIR>(); CreateMap <JKIRIMCreate, JKIRIM>(); CreateMap <JKIRIMUpdate, JKIRIM>(); CreateMap <JTRNLKASCreate, JTRNLKAS>(); CreateMap <JTRNLKASUpdate, JTRNLKAS>(); }