public Task <IEnumerable <(string Key, string Message)> > ExecuteAsync(SignInFormModel form) { var errors = new List <(string Key, string Message)>(); if (String.Compare(_config.User, form.UserName, StringComparison.Ordinal) != 0) { errors.Add(("UserName", "UserName or Password is incorrect.")); } else if (_config.Password != String.Join("", new SHA256Managed().ComputeHash(Encoding.UTF8.GetBytes(_config.User + ":" + form.Password)).Select(x => x.ToString("x2")))) { errors.Add(("UserName", "UserName or Password is incorrect.")); } return(Task.FromResult(errors.AsEnumerable())); }
public ActionResult Create(SignInFormModel signInModel) { var visitor = new Visitor() { Firstname = signInModel.Firstname, Lastname = signInModel.Lastname, IDNumber = signInModel.IDNumber, IDType = signInModel.IDType, ArivalDate = DateTime.Now, DepatureDate = null }; _context.Visitors.InsertOnSubmit(visitor); _context.SubmitChanges(); return(View("Index")); }
public async Task <IActionResult> SignIn(SignInFormModel input, [FromServices] ValidateUser useCaseValidateUser) { if (!ModelState.IsValid) { return(View(new SignInViewModel { ReturnUrl = input.ReturnUrl, })); } var results = await useCaseValidateUser.ExecuteAsync(input); if (results.Any()) { foreach (var error in results) { ModelState.AddModelError(error.Key, error.Message); } return(View(new SignInViewModel { ReturnUrl = input.ReturnUrl, })); } var identity = new ClaimsIdentity(CookieAuthenticationDefaults.AuthenticationScheme); identity.AddClaims(new[] { new Claim(ClaimTypes.Name, _securityConfig.User), new Claim(ClaimTypes.NameIdentifier, _securityConfig.User) }); await HttpContext.SignInAsync(new ClaimsPrincipal(identity)); return(Redirect(input.ReturnUrl)); }