public IActionResult PostNewUser(string eMail, string password) { if (string.IsNullOrEmpty(eMail) || string.IsNullOrEmpty(password)) { return(BadRequest()); } var newAuthUser = new AuthUser { Email = eMail, Password = AuthUtils.GenerateHashedPassword(password), Role = "User" }; _users.Add(newAuthUser); //try //{ // await _unitOfWork.Users.AddAsync(newAuthUser); // await _unitOfWork.SaveChangesAsync(); //} //catch (Exception ex) //{ // return BadRequest(ex.Message); //} //_users.Add(newAuthUser); return(NoContent()); }
public async Task <IActionResult> PostNewUser(string eMail, string password) { if (string.IsNullOrEmpty(eMail) || string.IsNullOrEmpty(password)) { return(BadRequest()); } AuthUser userInDb = await _unitOfWork.AuthUsers.GetByEmailAsync(eMail); if (userInDb != null) { return(BadRequest()); } var newAuthUser = new AuthUser { Email = eMail, Password = AuthUtils.GenerateHashedPassword(password), UserRole = "User" }; try { await _unitOfWork.AuthUsers.AddAsync(newAuthUser); await _unitOfWork.SaveChangesAsync(); } catch (Exception ex) { return(BadRequest(ex.Message)); } //_users.Add(newAuthUser); return(NoContent()); }
public async Task <IActionResult> Register(string email, string password /*[FromBody] AuthUser model*/) { var authUser = _authUsers.SingleOrDefault(u => u.Email == email); if (authUser != null) { return(BadRequest(new { Status = "Error", Message = "User already exists!" })); } string hashText = AuthUtils.GenerateHashedPassword(password); authUser = new AuthUser { Email = email, Password = hashText, UserRole = "User" }; try { await _unitOfWork.UserRepository.AddAsync(authUser); await _unitOfWork.SaveChangesAsync(); } catch (Exception ex) { return(BadRequest(ex.Message)); } return(Ok(authUser)); }
protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity <TestCenter>() .HasMany(u => u.AvailableInCampaigns); modelBuilder.Entity <Campaign>() .HasMany(u => u.AvailableTestCenters); base.OnModelCreating(modelBuilder); modelBuilder.Entity <AuthRole>().HasData(new AuthRole { Id = 1, Name = "Admin" }); modelBuilder.Entity <AuthRole>().HasData(new AuthRole { Id = 2, Name = "User" }); modelBuilder.Entity <AuthUser>().HasData(new AuthUser { Id = 1, UserRole = "Admin", Email = "*****@*****.**", Password = AuthUtils.GenerateHashedPassword("*****@*****.**") }); modelBuilder.Entity <AuthUser>().HasData(new AuthUser { Id = 2, UserRole = "User", Email = "*****@*****.**", Password = AuthUtils.GenerateHashedPassword("*****@*****.**") }); }
public ActionResult OnPost() { if (!ModelState.IsValid) { return(Page()); } //var user = await _userManager.FindByNameAsync(AuthUser.Email); //if (user != null) //{ // ModelState.AddModelError(string.Empty, "Register not succeeded!"); // return Page(); //} AuthUser newUser = new AuthUser { Email = AuthUser.Email, Password = AuthUtils.GenerateHashedPassword(AuthUser.Password), UserRole = "User" }; LoginModel.AddUser(newUser); return(RedirectToPage("/Index")); }
public void GenerateHashedPassword_CallWithPassword_ShouldGenerateCorrectHashedPassword() { string givenPassword = "******"; string hashedPassword = AuthUtils.GenerateHashedPassword(givenPassword); Assert.IsTrue(AuthUtils.VerifyPassword(givenPassword, hashedPassword)); }
/// <summary> /// Constructor /// </summary> /// <param name="config"></param> public AuthController(IConfiguration config) { _config = config; _authUsers = new List <AuthUser> { new AuthUser { Email = "*****@*****.**", Password = AuthUtils.GenerateHashedPassword("12345"), UserRole = "Admin" }, new AuthUser { Email = "*****@*****.**", Password = AuthUtils.GenerateHashedPassword("5678"), UserRole = "User" }, new AuthUser { Email = "*****@*****.**", Password = AuthUtils.GenerateHashedPassword("7890") }, }; }
protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.Entity <AuthUser>().HasData(new AuthUser { Id = 1, Email = "*****@*****.**", Password = AuthUtils.GenerateHashedPassword("*****@*****.**"), UserRole = "Administrator" }); modelBuilder.Entity <AuthUser>().HasData(new AuthUser { Id = 2, Email = "*****@*****.**", Password = AuthUtils.GenerateHashedPassword("*****@*****.**"), UserRole = "User" }); }
public ActionResult Register(UserDto newUser) { var users = _authUsers.Where(u => newUser.Email == u.Email); // gibt es schon einen Benutzer mit der Mailadresse? if (users.Any()) { return(BadRequest(new { Status = "Error", Message = "User already exists!" })); } // Passwort "salzen" und hashen, dann speichern string hashText = AuthUtils.GenerateHashedPassword(newUser.Password); AuthUser authUser = new AuthUser { Email = newUser.Email, Password = hashText }; _authUsers.Add(authUser); return(Ok(authUser)); }
public IActionResult Register([FromBody] AuthUser model) { var authUser = _authUsers.SingleOrDefault(u => u.Email == model.Email); if (authUser == null) { return(BadRequest(new { Status = "Error", Message = "User already exists!" })); } string hashText = AuthUtils.GenerateHashedPassword(model.Password); authUser = new AuthUser { Email = model.Email, Password = hashText }; _authUsers.Add(authUser); return(Ok(authUser)); }
protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); DateTime from = new DateTime(DateTime.Now.Year - 1, 1, 1); DateTime to = new DateTime(DateTime.Now.Year + 1, 12, 31); modelBuilder.Entity <Campaign>().HasData(new Campaign() { Id = 1, Name = "Test-Kampagne", From = new DateTime(2020, 12, 1), To = new DateTime(2099, 12, 31) }); modelBuilder.Entity <Campaign>().HasData(new Campaign() { Id = 2, Name = "Antigentest Bildungsbereich (Burgenland)", From = from, To = to }); modelBuilder.Entity <Campaign>().HasData(new Campaign() { Id = 3, Name = "Antigentest Bildungsbereich (Kärnten)", From = from, To = to }); modelBuilder.Entity <Campaign>().HasData(new Campaign() { Id = 4, Name = "Antigentest Bildungsbereich (Niederösterreich)", From = from, To = to }); modelBuilder.Entity <Campaign>().HasData(new Campaign() { Id = 5, Name = "Antigentest Bildungsbereich (Oberösterreich)", From = from, To = to }); modelBuilder.Entity <Campaign>().HasData(new Campaign() { Id = 6, Name = "Antigentest Bildungsbereich (Salzburg)", From = from, To = to }); modelBuilder.Entity <Campaign>().HasData(new Campaign() { Id = 7, Name = "Antigentest Bildungsbereich (Steiermark)", From = from, To = to }); modelBuilder.Entity <Campaign>().HasData(new Campaign() { Id = 8, Name = "Antigentest Bildungsbereich (Tirol)", From = from, To = to }); modelBuilder.Entity <Campaign>().HasData(new Campaign() { Id = 9, Name = "Antigentest Bildungsbereich (Vorarlberg)", From = from, To = to }); modelBuilder.Entity <Campaign>().HasData(new Campaign() { Id = 10, Name = "Antigentest Bildungsbereich (Wien)", From = from, To = to }); modelBuilder.Entity <TestCenter>().HasData(new TestCenter() { Id = 1, Name = "Sporthalle Leonding", City = "Leonding", Postcode = "4060", Street = "Ehrenfellnerstraße 9", SlotCapacity = 5 }); modelBuilder.Entity <TestCenter>().HasData(new TestCenter() { Id = 2, Name = "Kulturzentrum Marchtrenk", City = "Marchtrenk", Postcode = "4614", Street = "Rennerstraße 7", SlotCapacity = 3 }); modelBuilder.Entity <TestCenter>().HasData(new TestCenter() { Id = 3, Name = "Design Center Linz", City = "Linz", Postcode = "4020", Street = "Europaplatz 1", SlotCapacity = 10 }); modelBuilder .Entity <Campaign>() .HasMany(c => c.AvailableTestCenters) .WithMany(t => t.AvailableInCampaigns) .UsingEntity(j => j.HasData(new[] { new { AvailableInCampaignsId = 1, AvailableTestCentersId = 1 }, new { AvailableInCampaignsId = 1, AvailableTestCentersId = 2 }, new { AvailableInCampaignsId = 1, AvailableTestCentersId = 3 }, })); modelBuilder.Entity <Role>().HasData(new Role { Id = 1, Name = "Admin" }); modelBuilder.Entity <Role>().HasData(new Role { Id = 2, Name = "User" }); modelBuilder.Entity <AuthUser>().HasData(new AuthUser { Id = 1, Email = "*****@*****.**", Password = AuthUtils.GenerateHashedPassword("*****@*****.**") }); modelBuilder.Entity <AuthUser>().HasData(new AuthUser { Id = 2, Email = "*****@*****.**", Password = AuthUtils.GenerateHashedPassword("*****@*****.**") }); }