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);
            }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
 public void RegisterNewUser(RegisterUser user)
 {
     loginContext.sp_InsertUser(user.UserName, user.Password, user.FirstNAme, user.LastName);
 }