public async Task <User> GetById(int userId) { return(await Task.Run(() => { GetByIdCount++; if (db.Any(f => f.UserId == userId)) { return db.Where(f => f.UserId == userId).First(); } else if (userId == 1) { return new User { AppKey = "CHAVE", Key = "USUARIO", CheckKey = "CHAVE_DE_SEGURANÇA", Password = PasswordCreator.Create("SENHA", "CHAVE_DE_SEGURANÇA"), UserId = 1 }; } else { return User.Invalid <User>(); } })); }
public async Task <User> GetByKeyToApp(string key, string appKey) { return(await Task.Run(() => { GetByKeyToAppCount++; if (db.Any(f => f.Key == key && f.AppKey == appKey)) { return db.Where(f => f.Key == key && f.AppKey == appKey).First(); } else if (key == "USUARIO" && appKey == "CHAVE") { return new User { AppKey = "CHAVE", Key = "USUARIO", CheckKey = "CHAVE_DE_SEGURANÇA", Password = PasswordCreator.Create("SENHA", "CHAVE_DE_SEGURANÇA"), UserId = 1 }; } else { return User.Invalid <User>(); } })); }
private async Task Do() { var user = await _userRepository.GetById(_userId); InvalidUserExceptionCreator.ThrowIfFalse(user.IsValid() && user.AppKey.Equals(_appKey)); var newPassword = PasswordCreator.Create(_newPassword, user.CheckKey); await _userRepository.ChangePassword(_userId, newPassword); }
private async Task <bool> Do() { var user = await _userRepository.GetByKeyToApp(_userName, _appKey); if (!user.IsValid()) { return(false); } var newPassword = PasswordCreator.Create(_password, user.CheckKey); return(await _userRepository.ChangePasswordByCode(_userName, _code, newPassword, _appKey)); }
public User Authenticate(string username, string password) { var user = GetUserByUsername(username); var passwordHash = PasswordCreator.GetHash(password, user.PasswordSalt); if (user.PasswordHash != passwordHash) { throw new IncorrectPasswordException(); } return(user); }
public void Create_ReturnsCorrectPassword() { var expected = "Donald Duck rode his bike in the street"; var randomizerMock = new Mock <RandomizerBase>(); randomizerMock.Setup(x => x.GetInt(It.IsAny <int>(), It.IsAny <int>())).Returns(1); var passwordCreator = new PasswordCreator(randomizerMock.Object); var actual = passwordCreator.Create(); Output.WriteLine($"Password: {actual}"); Assert.Equal(actual, expected); }
public async Task <AccountDto> TryLoginAsync(string login, string password, AccountType type) { var account = await CheckAccountAsync(login); if (account != null) { if (PasswordCreator.CreateHash(account.Password) == PasswordCreator.CreateHash(password)) { return(account.MapToDto()); } } throw new Exception("Данный аккаунт не существует"); }
private async Task <string> Do() { var user = await _userRepository.GetByKeyToApp(_userName, _appKey); InvalidUsernameOrPasswordExceptionCreator.ThrowIfFalse(user.IsValid()); string typedPassword = PasswordCreator.Create(_password, user.CheckKey); InvalidUsernameOrPasswordExceptionCreator.ThrowIfFalse(user.Password.Equals(typedPassword)); user.Password = String.Empty; user.CheckKey = String.Empty; string token = _tokenCreator.Create(user, _device, _appKey); await _tokenRepository.Create(user.UserId, _device, token); return(token); }
private static void AddUsers(ApplicationDbContext context) { var passwordSalt = PasswordCreator.GetSalt(); var passwordHash = PasswordCreator.GetHash("admin", passwordSalt); var admin = new User { FirstName = "Admin First Name", LastName = "Admin Last Name", Email = "*****@*****.**", IsActive = true, PasswordSalt = passwordSalt, PasswordHash = passwordHash, Username = "******" }; context.Users.Add(admin); context.SaveChanges(); }
private string CreatePasswordHash(string passord, string key) => PasswordCreator.Create(passord, key);
public async Task <IActionResult> AddStudent(StudentViewModel std) { //GEt the List of class var i = _context.Class.ToList(); //Insert a new element in position 0 i.Insert(0, new Class { ClassId = 0, ClassName = "Select" }); ViewBag.Class = i; // Create a student and save to the database Student st = new Student() { StudentId = std.stdntidVM, StudentName = std.stdntnameVM, StudentCAddress = std.stdntcaddrssVM, StudentPAddress = std.stdntpaddrssVM, StudentNationality = std.stdntnationVM, StudentDOB = std.dobVM, StudentGender = std.stdntgenderVM, DateOfAdmission = DateTime.Now.Date, StudentClass = std.stdntclsVM, StudentPhoto = std.stdntphotoVM, Year = DateTime.Now.Year }; _context.Student.Add(st); await _context.SaveChangesAsync(); //Get the id of saved student var StudentId = st.StudentId; //Create guradian info for that student and save it GuardianInfo gi = new GuardianInfo() { SL = 0, StudentID = StudentId, GNameF = std.gnameFVM, GNameM = std.gnameMVM, GPhoneF = std.gphoneFVM, GPhoneM = std.gphoneMVM, GEmailF = std.gemailFVM, GEmailM = std.gemailMVM, GOccupationF = std.goccupationFVM, GOccupationM = std.goccupationMVM, GOrganisationF = std.gorganisationFVM, GOrganisationM = std.gorganisationMVM, GDesignationF = std.gdesignationFVM, GDesignationM = std.gdesignationsMVM }; _context.GuardianInfo.Add(gi); await _context.SaveChangesAsync(); // Create random password PasswordCreator ps = new PasswordCreator(); //Insert the login information for student login and save Login lg = new Login() { SL = 0, Username = StudentId.ToString(), Password = ps.RandomPassword(), FirstLoginStatus = true, ActiveStatus = true, RoleId = 1, DistinguishId = StudentId, }; lg.CurrentPassword = lg.Password; _context.Login.Add(lg); await _context.SaveChangesAsync(); //Clear the modelstate ModelState.Clear(); return(View()); }
public async Task <IActionResult> NewTeacher(TeacherViewModel tr) { Teacher tchr = new Teacher() { TeacherId = 0, TeacherName = tr.TcrnameVM, TeacherBG = tr.TcrbgVM, TeacherEmail = tr.TcremailVM, TeacherCAddress = tr.TcrcaddrssVM, TeacherPAddress = tr.TcrpaddrssVM, TeacherDOB = tr.TcrdobVM, TeacherGender = tr.TcrgenderVM, TeacherNationality = tr.TcrnationVM, TeacherPhoneNo = tr.TcrphoneVM, TeacherJD = DateTime.Now.Date, TeacherPhoto = tr.TcrphotoVM, TeacherDesignation = tr.TcrdesigVM }; _context.Teacher.Add(tchr); await _context.SaveChangesAsync(); ///Get the id of teacher var TeacherId = tchr.TeacherId; //Teacher email var TeacherEmail = tchr.TeacherEmail; // Create random password PasswordCreator ps = new PasswordCreator(); //Create login Login lg = new Login() { SL = 0, Username = TeacherEmail, Password = ps.RandomPassword(), FirstLoginStatus = false, ActiveStatus = true, RoleId = 2, DistinguishId = TeacherId }; lg.CurrentPassword = lg.Password; _context.Login.Add(lg); await _context.SaveChangesAsync(); ///Save the Document Information to the Database TeacherDocSubmitted doc = new TeacherDocSubmitted() { TeacherId = TeacherId, SL = 0, SSCCertificate = tr.TcrdocsubhsccrtfctVM, SSCMarksheet = tr.TcrdocsubsscmarkVM, HSCCertificate = tr.TcrdocsubhsccrtfctVM, HSCMarksheet = tr.TcrdocsubhscmarkVM, HonsCertificate = tr.TcrdocsubhonscrtfctVM, HonsMarksheet = tr.TcrdocsubhonsmarkVM }; await _context.TeacherDocSubmitted.AddAsync(doc); await _context.SaveChangesAsync(); TeacherQualification tq = new TeacherQualification() { SL = 0, TeacherId = TeacherId, SSCYear = tr.TcrqsscyearVM, SSCGrade = tr.TcrqsscgradeVM, SSCInstitute = tr.TcrqsscinsVM, HSCYear = tr.TcrqhscyearVM, HSCGrade = tr.TcrqhscgradeVM, HSCInstitute = tr.TcrqhscinsVM, HonsYear = tr.TcrqhonsyearVM, HonsGrade = tr.TcrqhonsgradeVM, HonsInstitute = tr.TcrqhonsinsVM }; await _context.TeacherQualification.AddAsync(tq); await _context.SaveChangesAsync(); ///Clear the model state ModelState.Clear(); return(View()); }