public ActionResult RegisterUser(RegisterUser User, string UserRole) { if (ModelState.IsValid) { try { if (UserRole != "") { WebSecurity.CreateUserAndAccount(User.Email, User.Password, new { Name = User.Name }); Roles.AddUserToRole(User.Email, UserRole); return RedirectToAction("Index", "Home"); } else { ModelState.AddModelError("", "Please Specify a Role"); return View(); } } catch (MembershipCreateUserException) { ModelState.AddModelError("", "Sorry, the User Email already exists in this system"); return View(User); } } else { ModelState.AddModelError("", "Sorry, the User Name already exists"); return View(User); } }
public RegisterUser AddUser(RegisterUser registerUser) { User user = new User(); user.Username = registerUser.Username; user.Confirmed = false; user.Role = "user"; user.Email = registerUser.Email; user.IsOver18 = registerUser.IsOver18; user.FirstName = registerUser.FirstName; user.LastName = registerUser.LastName; var tokenHandler = new JwtSecurityTokenHandler(); var key = Encoding.ASCII.GetBytes(_appSettings.Secret); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(new Claim[] { new Claim(ClaimTypes.Name, user.Id.ToString()) }), Expires = DateTime.UtcNow.AddDays(7), SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature) }; var token = tokenHandler.CreateToken(tokenDescriptor); user.Token = tokenHandler.WriteToken(token); _context.User.Add(user); _context.SaveChanges(); EmailModel model = new EmailModel(); model.EmailTo = registerUser.Email; model.Subject = "Activate account"; model.Message = Body; model.Token = tokenHandler.WriteToken(token); model.Username = user.Username; emailService.SendEmail(model); return(registerUser); }
public void RegisterNewUser(RegisterUser user) { loginContext.sp_InsertUser(user.UserName, user.Password, user.FirstNAme, user.LastName); }