public ActionResult Register(RegisterDto registerDto) { if (!ModelState.IsValid) { return(View(registerDto)); } if (registerDto.RepeatedPassword != registerDto.Password) { ModelState.AddModelError(nameof(registerDto.Password), "Пароли не совпадают"); ModelState.AddModelError(nameof(registerDto.RepeatedPassword), "Пароли не совпадают"); return(View(registerDto)); } var existedUser = UserDataStore.GetAll() .SingleOrDefault(user => user.Login == registerDto.Login && user.PasswordHash == string.Empty); if (existedUser == null) { ModelState.AddModelError(nameof(registerDto.Login), "Данный логин недоступен, обратитесь к администратору"); return(View(registerDto)); } existedUser.PasswordHash = PasswordHashService.GetHash(registerDto.Password); UserDataStore.Update(existedUser); return(RedirectToAction("Index")); }
public User GetCurrentUser() { var principal = AuthenticationService.CurrentUserPrincipal; if (!principal.Identity.IsAuthenticated) { return(null); } var login = principal.Identity.Name; return(UserDataStore.GetAll().SingleOrDefault(user => user.Login == login)); }
public User Login(LoginPassDto loginPasswordDto) { var passHash = PasswordHashService.GetHash(loginPasswordDto.Password); var user = UserDataStore.GetAll() .SingleOrDefault(u => u.Login == loginPasswordDto.Login && u.PasswordHash == passHash); if (user != null) { CreateCookie(user, loginPasswordDto.RememberMe); } return(user); }