public IActionResult Register(UserRegisteringBindingModel model) { if (this.User.IsAuthenticated) { return(this.RedirectToHome()); } if (!this.IsValidModel(model)) { return(this.BuildErrorView()); } string passwordHash = PasswordUtilities.GetPasswordHash(model.Password); var user = new User() { Username = model.Username, Email = model.Email, PasswordHash = passwordHash }; using (this.Context) { this.Context.Users.Add(user); this.Context.SaveChanges(); } this.SignIn(user.Username, user.Id); return(this.RedirectToHome()); }
public IActionResult Register(UserRegisteringBindingModel model) { if (!this.IsValidModel(model)) { return(this.View()); } var sha256 = SHA256Managed.Create(); var user = new User() { Username = model.Username, PasswordHash = string.Join( "", sha256 .ComputeHash(System.Text.Encoding.UTF8.GetBytes(model.Password)) .Select(b => b.ToString("x2"))) }; using (this.Context) { this.Context.Users.Add(user); this.Context.SaveChanges(); } this.SignIn(user.Username); return(this.RedirectToAction("/home/index")); }
public IActionResult Register(UserRegisteringBindingModel model) { if (this.User.IsAuthenticated) { this.RedirectToHome(); } if (!this.IsValidModel(model)) { this.BuildErrorView(); return(this.View()); } string passwordHash = PasswordUtilities.GetPasswordHash(model.Password); var user = new User() { Username = model.Username, Email = model.Email, FullName = model.FullName, PasswordHash = passwordHash }; if (!this.Context.Users.Any()) { user.RoleId = AdminId; } else { user.RoleId = UserId; } string userRole = string.Empty; using (this.Context) { if (this.Context.Users.Any(u => u.Username == user.Username)) { this.ViewData["error"] = string.Format("Username already taken"); return(this.View()); } if (this.Context.Users.Any(u => u.Email == user.Email)) { this.ViewData["error"] = string.Format("Email already taken"); return(this.View()); } this.Context.Users.Add(user); this.Context.SaveChanges(); userRole = this.Context.Roles.FirstOrDefault(r => r.Id == user.RoleId).ToString(); } this.SignIn(user.Username, user.Id, new[] { userRole }); return(this.RedirectToHome()); }
public IActionResult Register(UserRegisteringBindingModel model) { if (this.User.IsAuthenticated) { this.RedirectToHome(); } if (!this.IsValidModel(model)) { this.BuildErrorView(); return(this.View()); } string passwordHash = PasswordUtilities.GetPasswordHash(model.Password); var user = new User() { Username = model.Username, Email = model.Email, PasswordHash = passwordHash }; using (this.Context) { if (this.Context.Users.Any(u => u.Username == user.Username)) { this.Model.Data["error"] = string.Format(ErrorBox, "Username already taken"); return(this.View()); } if (this.Context.Users.Any(u => u.Email == user.Email)) { this.Model.Data["error"] = string.Format(ErrorBox, "Email already taken"); return(this.View()); } this.Context.Users.Add(user); this.Context.SaveChanges(); } this.SignIn(user.Username, user.Id); return(this.RedirectToHome()); }
public IActionResult Register(UserRegisteringBindingModel model) { if (this.User.IsAuthenticated) { return(this.RedirectToHome()); } if (!this.IsValidModel(model)) { this.ViewData.Data["error"] = "You have errors in your form."; return(this.View()); } string passwordHash = PasswordUtilities.GetPasswordHash(model.Password); var user = new User() { Username = model.Username, PasswordHash = passwordHash, FullName = model.FullName, Email = model.Email, RoleId = 1 }; using (this.Context) { this.Context.Users.Add(user); this.Context.SaveChanges(); } this.SignIn(user.Username, user.Id, new List <string>() { "Admin" }); return(this.RedirectToHome()); }