public IHttpActionResult GetAll(string selectedClientId, string currentPage, string pageSize) { //if user is not admin return.. var identity = User.Identity as ClaimsIdentity; string userRole = identity.FindFirst(ClaimTypes.Role).Value; string clientId = identity.FindFirst("ClientId").Value; if (userRole != "admin") { //ModelState.AddModelError("InvalidAccess", "You are not authorized !"); return(BadRequest("UnauthorizedAccess")); } UserData responseData = new UserData(); AppUser users = new AppUser(); int totalCount = 0; List <AppUser> lstUsers = users.GetAll(int.Parse(clientId), int.Parse(selectedClientId), int.Parse(currentPage), int.Parse(pageSize), out totalCount); if (lstUsers != null) { foreach (AppUser user in lstUsers) { user.UserPassword = MyPasswordHasher.Decrypt(user.UserPassword, true); } } responseData.records = lstUsers; responseData.totalCount = totalCount; return(Ok(responseData)); }
public async Task <ActionResult <bool> > GetUsers() { string comparePass = "******"; User user = await _context.Users.FindAsync(1); bool validPass = MyPasswordHasher.VerifyPassword(comparePass, user.PasswordHash, user.PasswordSalt); return(Ok(new { IsValid = validPass })); }
protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity <RoomLayout>().HasMany(e => e.Rooms).WithOne(e => e.RoomLayout).HasForeignKey(e => e.RoomLayoutId); modelBuilder.Entity <Room>().HasOne(e => e.RoomLayout); modelBuilder.Entity <User>().HasMany(e => e.Reservations).WithOne(e => e.User).HasForeignKey(e => e.UserId); modelBuilder.Entity <Reservation>().HasOne(e => e.User); modelBuilder.Entity <RoomLayout>().HasData( new RoomLayout { Id = 1, Name = "Single" }, new RoomLayout { Id = 2, Name = "Double" }); modelBuilder.Entity <Room>().HasData( new Room { RoomLayoutId = 1, Id = 1 }, new Room { RoomLayoutId = 2, Id = 2 } ); byte[] passwordHash, passwordSalt; MyPasswordHasher.CreatePasswordHash("password", out passwordHash, out passwordSalt); modelBuilder.Entity <User>().HasData( new User { Id = 1, Name = "Simon van der Weele", Email = "*****@*****.**", PasswordHash = passwordHash, PasswordSalt = passwordSalt, Ref = Guid.NewGuid() } ); modelBuilder.Entity <Reservation>().HasData( new Reservation { Id = 1, NumberOfAdults = 2, NumberOfChildren = 1, ArrivalDate = new DateTime(2020, 08, 08), DepartureDate = new DateTime(2020, 08, 15), UserId = 1, Ref = Guid.NewGuid() }, new Reservation { Id = 2, NumberOfAdults = 1, NumberOfChildren = 3, ArrivalDate = new DateTime(2020, 12, 03), DepartureDate = new DateTime(2020, 12, 25), UserId = 1, Ref = Guid.NewGuid() }, new Reservation { Id = 3, NumberOfAdults = 1, NumberOfChildren = 2, ArrivalDate = new DateTime(2020, 06, 02), DepartureDate = new DateTime(2020, 06, 13), UserId = 1, Ref = Guid.NewGuid() } ); }
public async Task <ActionResult <bool> > PostUser([FromBody] User user) { if (await _context.Users.AnyAsync(e => e.Email == user.Email)) { return(Conflict()); } byte[] passwordHash, passwordSalt; MyPasswordHasher.CreatePasswordHash(user.PasswordPlain, out passwordHash, out passwordSalt); user.PasswordHash = passwordHash; user.PasswordSalt = passwordSalt; _context.Entry(user).Property(e => e.PasswordHash).IsModified = true; _context.Entry(user).Property(e => e.PasswordSalt).IsModified = true; _context.Users.Add(user); await _context.SaveChangesAsync(); return(CreatedAtAction("GetUser", new { reference = user.Ref }, user)); }
// POST api/users/Register public async Task <IHttpActionResult> Register(AppUser user) { //if user is not admin return.. var identity = User.Identity as ClaimsIdentity; string userRole = identity.FindFirst(ClaimTypes.Role).Value; if (userRole != "admin") { //ModelState.AddModelError("InvalidAccess", "You are not authorized !"); return(BadRequest("UnauthorizedAccess")); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } IdentityResult result = new IdentityResult(); //UserManager<AppUser> userManager = new UserManager<AppUser>(new UserStoreService<IdentityUser>()); //var result = userManager.ChangePassword(_User.Id, userNewPassword, userView.Password); //return RedirectToAction("Index", "ConfigUser"); if (user.UserID == 0) { result = await _repo.RegisterUser(user); IHttpActionResult errorResult = GetErrorResult(result); if (errorResult != null) { return(errorResult); } } user.UserType = "client"; user.UserPassword = MyPasswordHasher.Encrypt(user.UserPassword, true); user.Update(); return(Ok()); }
public ActionResult Create(UsersDetailsViewModel model /*[Bind( * Include = * "cin,active,city,country,state,street,birthday,email,firstname,gender,lastname,password,tel,username,referee_cin" * )] user user*/) { var user = new user(); if (ModelState.IsValid) { user.cin = Convert.ToInt64(Request["cin"]); user.active = Request["active"] == "1"; user.city = Request["city"]; user.country = Request["country"]; user.state = Request["state"]; user.street = Request["street"]; user.birthday = Convert.ToDateTime(Request["birthday"]); user.email = Request["email"]; user.firstname = Request["firstname"]; user.lastname = Request["lastname"]; user.gender = Request["gender"]; user.password = Request["password"]; user.username = Request["username"]; user.tel = Request["tel"]; user.referee_cin = Convert.ToInt32(Request["referee_cin"]); MyPasswordHasher hasher = new MyPasswordHasher(); switch (Request["role"]) { case "Employee": Employee employe = new Employee() { cin = user.cin, firstname = user.firstname, lastname = user.lastname, username = user.username, password = hasher.HashPassword(user.password).ToLower(), birthday = user.birthday, email = user.email, gender = user.gender, country = user.country, city = user.city, state = user.state, street = user.street, tel = user.tel, credibility = 0, active = true }; _service.Add(employe); break; case "Candidate": Candidate candidate = new Candidate() { cin = user.cin, firstname = user.firstname, lastname = user.lastname, username = user.username, password = hasher.HashPassword(user.password).ToLower(), birthday = user.birthday, email = user.email, gender = user.gender, country = user.country, city = user.city, state = user.state, street = user.street, tel = user.tel, referee_cin = user.referee_cin, active = true }; _service.Add(candidate); break; case "RecruitmentManager": RecruitementManager recruitementManager = new RecruitementManager() { cin = user.cin, firstname = user.firstname, lastname = user.lastname, username = user.username, password = hasher.HashPassword(user.password).ToLower(), birthday = user.birthday, email = user.email, gender = user.gender, country = user.country, city = user.city, state = user.state, street = user.street, tel = user.tel, active = true }; _service.Add(recruitementManager); break; default: break; } //_service.Add(user); try { _service.commit(); } catch (Exception e) { ViewBag.Error = e.Message + " " + e.GetBaseException().Message; ViewBag.referee_cin = new SelectList(_service.GetMany(), "cin", "firstname"); return(View()); } return(RedirectToAction("Index")); } ViewBag.referee_cin = new SelectList(_service.GetMany(), "cin", "firstname"); return(View(user)); }